我有一个基本问题让我发疯。iPhone UITableViewDelegate问题
我有一个继承自UITableViewController的类。它是我的导航控制器中的根控制器。我有另一个类实现UITableViewDelegate和UITableViewDataSource协议(我的委托)。
基本上,在我委托的tableView:didSelectRowAtIndexPath:方法中,我想推新控制器。
当委托协议是简单地由执行的UITableViewController,很容易:
[self.navigationController pushViewController:nextController animated:YES];
我(显然)不能这样做,在委托类。 我该如何引用UITableViewController子类来访问navigationController?这让我疯狂!
基本流程:
- 的UITableViewController电话委托
- 委托运行的tableView:didSelectRowAtIndexPath方法:
- 在代理的的tableView:didSelectRowAtIndexPath方法:,代码需要推新控制器到navigationController
- 委托没有引用navController或TableViewController来执行推送。
- 如果我尝试通过属性传递给委托tableController或navController,代码会给出编译器错误。所以,我不能给它一个参考返回到调用tableViewController
一个简单的解决方案可能是没有额外的类在所有的,只是实现你的根控制器类表视图委托方法。 – 2009-12-16 20:56:45