当我重用UISearchController时,出现致命错误:数组索引超出范围。我读了一些资料,但找不到答案。请帮我。

我的代码如下

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {

    return 1 ?? 0 // 1 ?? 0
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    var query: PFQuery = PFQuery(className: "NewsNow")

    if self.dataSearchResults == nil {
        return self.objects?.count ?? 0
    } else {
        return self.dataSearchResults?.count ?? 0
    }
}

最佳答案

我修复了我的func updateSearchResultsForSearchController

func updateSearchResultsForSearchController(searchController: UISearchController) {
    self.dataSearchResults?.removeAll(keepCapacity: false)
    var searchText = searchController.searchBar.text
    var query: PFQuery = PFQuery(className: "NewsNow")
    if searchController.active == true  {
        query.whereKey("nameNews", matchesRegex: searchText, modifiers: "i")
        self.tableView.reloadData()
    }
    query.findObjectsInBackgroundWithBlock { (results:[AnyObject]?, error: NSError?) -> Void in
        self.dataSearchResults = results as? [PFObject]
        self.tableView.reloadData()
    }
     println(searchText)
}

关于ios - 当重用UISearchController时,出现致命错误:数组索引超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31213089/

10-10 01:14