2016-08-23 3 views
1

Я хочу, чтобы мое быстрое приложение открыло UIViewController (называемое «SecondViewController»), когда нажата кнопка «Изменить» UITableViewRowAction. Однако мой код ниже ничего не делает; когда я нажимаю действие «Изменить», абсолютно ничего не происходит.Невозможно переключиться на другой UIViewController, когда нажата кнопка «Изменить» UITableViewRowAction.

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? { 

//Edit action 
let editAction = UITableViewRowAction(style: UITableViewRowActionStyle.Normal, title: "Edit") { (editAction, indexPath) -> Void in 

    let secondViewController = self.storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as! SecondViewController 
    self.navigationController?.pushViewController(secondViewController, animated: true) 

} 

return [editAction] 

} 

Как это можно решить? Возможно ли это? Если вам нужна дополнительная информация, прокомментируйте.

+0

Я думаю, что контроллер навигации равен нулю. Пожалуйста, добавьте контроллер навигации в раскадровку –

+0

Ха, что было довольно просто. Не знал, что мне НУЖНО иметь диспетчер uinavigation, чтобы это работало. Благодарю. Поместите это как ответ (просто скопируйте пасту), чтобы я мог отметить его как правильно. – Bossvanlindt

+0

Я ответил. Пожалуйста, проверьте –

ответ

1

Я думаю, что navigationController - это нуль. Вы можете добавить navigationController либо через storyboard, либо создать его программно и сделать ViewController, содержащий tableView, как rootViewController. Это должно работать

+0

Noice работает noice. отличная работа. – Bossvanlindt

Смежные вопросы