Objective c iPhone UITableViewDelegate问题
我有一个让我发疯的基本问题 我有一个从UITableViewController继承的类。它是我的导航控制器中的根控制器。我有另一个类实现UITableViewDelegate和UITableViewDataSource协议(我的委托) 基本上,在我的代理的tableView:didSelectRowAtIndexPath:method中,我想要推送一个新的控制器 当代理协议仅由UITableViewController实现时,很容易:Objective c iPhone UITableViewDelegate问题,objective-c,iphone,uitableview,Objective C,Iphone,Uitableview,我有一个让我发疯的基本问题 我有一个从UITableViewController继承的类。它是我的导航控制器中的根控制器。我有另一个类实现UITableViewDelegate和UITableViewDataSource协议(我的委托) 基本上,在我的代理的tableView:didSelectRowAtIndexPath:method中,我想要推送一个新的控制器 当代理协议仅由UITableViewController实现时,很容易: [self.navigationController pu
[self.navigationController pushViewController:nextController animated:YES];
我(显然)不能在delegate类中这样做我该如何引用UITableViewController子类来访问navigationController?这让我发疯了
基本流程:
您的
UIApplicationLegate
应具有对导航控制器的引用。实际上,您不需要对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];
一个更简单的解决方案可能是根本没有那个额外的类,只在根控制器类中实现表视图委托方法。我知道我忽略了一些简单的东西!我来自Java,所以关于如何组合事物的一些层次结构仍然是模糊的:)谢谢!