我有UINavigation Controller,它有一个UIViewController压入堆栈并显示。使用外部UITableViewDelegate并通过UIViewController回调到UINavigation控制器
该UIViewController有一个UITableView并使用该UITableView的数据源和委托的外部类。我这样做是因为我需要动态地交换那个数据源。一切都非常适合显示数据。
但是,当在代理 中处理“down”didSelectRowAtIndexPath
时,我正在努力调用所有返回到UINavigationController的方法。而我已经习惯了,能够做到这样的事情时的UIViewController和委托是相同的对象:
ExampleViewController *newViewController = [[ExampleViewController alloc] init];
[self.navigationController pushViewController:newViewController animated:YES];
[newViewController release];
我不能从委托这样做,我只是没有得到什么正确的引用回UINavigationController应该是pushViewController。
我是否需要设置一个类似于委托的ID,以便UITableViewDelegate有一个指针直接返回到UINavigationController?
我很感激反馈意见。我使用了方法1,只是在我将其指定为数据源和委托时设置了保留的UINavigationController属性。为此推出一个协议似乎有些过分,但也许我只是懒惰,因为那肯定会不太紧密。 – Nick 2011-03-15 01:30:13
听起来不错。如果需要的话,您可以随时重构您的代码 - 同时,您的代码将修剪并更易于维护。 – 2011-03-16 19:18:55