I have an issue where if a user types into the search bar too fast the program will crash with the following message 

> 
> fatal error: index out of range
> 
> 
> 

referring to the line `var podInfo = podcastResults[row]` which is part of the `cellForRowAtIndexPath` method. The search box is above a `UITableView` which is populated from the `NSURLSession` results. 

Please see the code below. 

```
class SearchTVC: UITableViewController, UISearchBarDelegate {

  @IBOutlet weak var searchBar: UISearchBar!
  var podcastResults = [[String: String]]()
  var tempDict = [String: String]()

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {

    print("search being typed")

    if searchText.characters.count >= 3 {

        let searchesArray:Array = searchText.componentsSeparatedByString(" ")

        //request search method to start

        search(searchesArray)
    }
}

func search(searchqueries: Array<String>){

    let URL = iTunesSearcher().searchQuery(searchqueries) //This just complies  the URL using a method in anothr class

    let task = NSURLSession.sharedSession().dataTaskWithURL(URL) {
        (data, response, error) in
        print("URL downloaded")

        //clear results and temp dict, so that new results can be displayed

        self.tempDict.removeAll()
        self.podcastResults.removeAll()

        let data = NSData(contentsOfURL: URL) //urlString!
        let json = JSON(data: data!)

        for (key, subJson) in json["results"] {

            if let title = subJson["collectionCensoredName"].string {

                self.tempDict = ["title": title]

            } else { print("JSON - no title found") }

            if let feedURL = subJson["feedUrl"].string {

                self.tempDict.updateValue(feedURL, forKey: "feedURL")

            } else { print("JSON - no feedURL found") }

            if let artworkUrl60 = subJson["artworkUrl60"].string {

                self.tempDict.updateValue(artworkUrl60, forKey:"artworkURL60")

            } else { print("JSON - no artwork url found") }

            self.podcastResults.append(self.tempDict)
        }

        //Running request on main thread
        dispatch_async(dispatch_get_main_queue(), { () -> Void in

            self.tableView.reloadData()

        })
    }

    task.resume()
}

 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = self.tableView.dequeueReusableCellWithIdentifier(textCellIdentifier, forIndexPath: indexPath)

    let row = indexPath.row
    var podInfo = podcastResults[row]
    cell.textLabel?.text = podInfo["title"]
    return cell
}

```

Any help would be much appreciated as I just can't figure it out.

Cheers.

Michael