我有一个UIViewController子类(说BBB),从已经写好的自定义UIViewController类(说AAA)继承。 BBB类有一个UITableView,当用户点击UITableView的任何单元格时,我想推入另一个UIViewController类(称为CCC)。从另一个UIViewController推UIViewController - 如何?
所以,我试图推动BBB的tableView: didSelectRowAtIndexPath:
方法中的CCC控制器。轻敲单元格时
我的代码,
CCC *ccc = [[CCC alloc] init];
[self.navigationController pushViewController:ccc animated:YES];
[ccc release];
什么也没有发生,所以我用下面的代码进行核对类BBB的naviagtion控制器。
if (self.navigationController == nil)
{
NSLog(@"Navigation controller is nil");
}
消息已成功打印:)所以,我想有些事情分配到导航控制器和我的运气不好,这是一个只读属性。
然后,我尝试通过分配ccc作为rootviewcontroller来创建本地UINavigationController,然后尝试推送该本地导航控制器。它引发一个异常“不止一次推送相同的视图控制器实例”。
我的问题是,
是否有可能寻找到导航控制器获得AAA级的零值?我没有在我的BBB类中将导航控制器设置为零,我在类AAA中查找是否有类似“self.navigationController = nil”的语句。但没有什么是这样的。
如何推送CCC类?
感谢
什么是你的窗口的根视图控制器?是AAA还是BBB,还是别的?你在使用storyboard或xib,还是在代码中做所有事情? – rdelmar
我的根视图控制器是另一个控制器(比如说DDD)。我只是通过代码来完成这一切。 – Confused