此行已导致编译器警告searchDisplayController不推荐使用:从Xcode 6.3更新开始。
问题行if tableView == self.searchDisplayController!.searchResultsTableView
在
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == self.searchDisplayController!.searchResultsTableView {return self.filteredPlayers.count}
else {return self.results.count;}
}
我用类似格式的其他行解决了这个警告
func searchDisplayController(controller: UISearchDisplayController, shouldReloadTableForSearchScope searchOption: Int) -> Bool {
let scope = self.searchDisplayController?.searchBar.scopeButtonTitles as! [String]
self.filterContentForSearchText(self.searchDisplayController!.searchBar.text, scope: scope[searchOption])
return true
}
通过切断
Display
并从searchDisplayController?
行删除let scope = self.searchDisplayController?.searchBar.scopeButtonTitles
,因此func searchController(controller: UISearchController, shouldReloadTableForSearchScope searchOption: Int) -> Bool {
let scope = self.searchBar.scopeButtonTitles as! [String]
self.filterContentForSearchText(self.searchBar.text, scope: scope[searchOption])
return true
}
但我无法找到上面问题行的正确编辑。
if tableView == self.searchController!.searchResultsTableView //could not find member 'searchResultsTableView'
和
if tableView == self.searchResultsTableView //ViewController does not have a member named 'searchRsultsTableView'
最佳答案
看起来你不能从界面生成器中完成,但是你必须从代码中完成。
Updating to the iOS 8 Search Controller
关于swift - xcode 6.3不推荐使用UIsearchDisplayController,如何使警告静音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29834100/