我有一个NSMutableArray,它包含我想用UISearchResultsUpdating搜索该数据的数据。使用函数updateSearchResultsForSearchController
中的代码,一切正常。但是有一个问题,如果我键入一个字母,任何字母,没有tableviewcell弹出。它只是空白,它不会搜索任何东西。对此有何帮助?
两个重要的变量。
NSMutubaleArray变量
var toDoItems = NSMutableArray()
代码
中的另一个有用变量var filteredAppleProducts = [String]()
这是我的updateSearchResultsForSearchController函数
func updateSearchResultsForSearchController(searchController: UISearchController)
{
self.filteredAppleProducts.removeAll(keepCapacity: false)
let searchPredicate = NSPredicate(format: "title CONTAINS[c] %@", searchController.searchBar.text!)
let array = (toDoItems as NSArray).filteredArrayUsingPredicate(searchPredicate)
self.filteredAppleProducts = array as! [String]
tbl!.reloadData()
}
如果有任何帮助,这里也是我的CellForRowatIndexPath以及我的numberOfRowsInSecction。
的cellForRowAtIndexPath
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) ->
UITableViewCell{
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! TableView
if (self.resultSearchController.active)
{
cell.lbl.text = self.filteredAppleProducts[indexPath.row]
return cell
}
else
{
let toDoItem: NSDictionary = toDoItems.objectAtIndex(indexPath.row) as! NSDictionary
cell.lbl.text = toDoItem.objectForKey("itemTitel") as? String
return cell
}
}
numberOfRowsInSection
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
if (self.resultSearchController.active)
{
return self.filteredAppleProducts.count
}
else
{
return toDoItems.count
}
}