0

У меня есть TableView с людьми. Когда я нажимаю на ячейку, она выполняет переход к другому виду.Swift TableView SearchDisplayController EXC_BAD_INSTRUCTION

Поиск работ. Но когда я ищу, отменяю, нажимаю на одну ячейку, возвращаюсь и снова хочу искать, он падает. EXC_BAD_INSTRUCTION.

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

    var cell = UITableViewCell() 


    if let sdc = self.searchDisplayController { 

     if sdc.active { 

     if let c: AnyObject? = self.tableView.dequeueReusableCellWithIdentifier("CellPerson"){ 


      cell = c as UITableViewCell 
      cell.textLabel.text = personsFiltered[indexPath.row]! 

      } 
      else 
      { 
       cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell") 
      } 


     } else { 

     if let c: AnyObject? = self.tableView.dequeueReusableCellWithIdentifier("CellPerson"){ 


      cell = c as UITableViewCell 
      cell.textLabel.text = persons[indexPath.row]! 

      } 
      else 
      { 
       cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell") 
      } 

    } 


    return cell 
} 
+0

И где именно он падает? –

ответ

0

Это трудно понять, что является причиной аварии без дальнейших подробностей именно там, где это происходит, но проблема может быть вокруг линий от извлечения из self.tableView. В этом делететете обратный вызов func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath параметр tableView может быть из searchDisplayController или backView TableViewController. Чтобы убедиться, что вы удалили из правильного стола, измените вид self.tableView на tableView.

Также имейте в виду, что UISearchDisplayController устарел в iOS 8, который должен быть заменен на UISearchController, так что если это не связано с тем, что у вас много других проблем в ближайшее время.

+0

Я попытался изменить его, но это не сработало. Да, но я хочу также поддерживать iOS 7. –