我有一个让我疯狂的基本问题。
我有一个继承自UITableViewController的类。它是我的导航控制器中的根控制器。我有另一个实现UITableViewDelegate和UITableViewDataSource协议(我的委托)的类。
基本上,在我的委托的tableView:didSelectRowAtIndexPath:方法中,我想推送一个新的控制器。
当委托协议简单地由UITableViewController实现时,很容易:
[self.navigationController pushViewController:nextController animated:YES];
我(显然)在委托类中不能这样做。 我怎样才能引用UITableViewController子类来访问navigationController?这让我疯了!
基本流程:
答案 0 :(得分:0)
您的UIApplicationDelegate
应该引用导航控制器。您实际上不需要引用UITableViewController
。
您可以简单地执行以下操作:
// Get the App delegate
YourAppDelegate * app = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
// Get the UINavigationController used by the application
UINavigationController * nav = app.navigationController;
// Push the next view controller
[nav pushViewController:nextController animated:YES];