У меня есть основной вопрос, который сводит меня с ума.
У меня есть класс, унаследованный от UITableViewController. Это корневой контроллер в моем контроллере навигации. У меня есть еще один класс, реализующий протоколы UITableViewDelegate и UITableViewDataSource (мой делегат).
По сути, в методе tableView: didSelectRowAtIndexPath: моего делегата я хочу подтолкнуть новый контроллер.
Когда протоколы делегатов были просто реализованы UITableViewController, это было легко:
[self.navigationController pushViewController:nextController animated:YES];
Я (очевидно) не могу этого сделать в классе делегата. Как, черт возьми, я могу обратиться к подклассу UITableViewController, чтобы получить доступ к navigationController? Это сводит меня с ума!
Основной поток:
- UITableViewController вызывает делегата
- делегат запускает tableView: didSelectRowAtIndexPath:
- в tableView делегата: didSelectRowAtIndexPath: код должен подтолкнуть новый контроллер к navigationController
- делегат не имеет ссылки на navController или TableViewController для выполнения push.
- код выдает ошибку компилятора, если я пытаюсь передать делегату tableController или navController через свойство. поэтому я не могу дать ему ссылку на вызывающий tableViewController