im делает простой проект в Xcode 6, и я хочу добавить панель поиска в tableviewcontroller, но что-то не работает для меня. Я делаю это с помощью этого учебника http://www.raywenderlich.com/76519/add-table-view-search-swiftПанель поиска в таблице View Swift
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == self.searchDisplayController!.searchResultsTableView {
return self.filteredProgramy.count
} else {
return self.programy.count
}
}
здесь им получать ошибки «неустранимая ошибка: неожиданно нашли ноль в то время как разворачивание необязательное значение». idk почему. Весь код здесь
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == self.searchDisplayController!.searchResultsTableView {
return self.filteredProgramy.count
} else {
return self.programy.count
}
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
var program : Program
if tableView == self.searchDisplayController!.searchResultsTableView {
program = filteredProgramy[indexPath.row]
} else {
program = programy[indexPath.row]
}
func filterContentForSearchText(searchText: String) {
// Filter the array using the filter method
var scope = String()
self.filteredProgramy = self.programy.filter({(program: Program) -> Bool in
let categoryMatch = (scope == "All") || (program.category == scope)
let stringMatch = program.name.rangeOfString(searchText)
return categoryMatch && (stringMatch != nil)
})
}
func searchDisplayController(controller: UISearchDisplayController!, shouldReloadTableForSearchString searchString: String!) -> Bool {
self.filterContentForSearchText(searchString)
return true
}
func searchDisplayController(controller: UISearchDisplayController!, shouldReloadTableForSearchScope searchOption: Int) -> Bool {
self.filterContentForSearchText(self.searchDisplayController!.searchBar.text)
return true
}
}
Эта ошибка не имеет ничего делать с панелью поиска конкретно и имеет отношение к пониманию того, как правильно использовать дополнительные опции. В какой строке вы получаете ошибку? Вероятно, вы принудительно разворачиваете необязательное значение и получаете нуль (как описано в сообщении об ошибке). –
здесь. "if tableView == self.searchDisplayController! .searchResultsTableView {" – patrikbelis
Вы получили это разобранное? –