我有2个视图控制器,第1个是uinavigationcontroller的根。 在该视图控制器(第一个)中,我有一个包含我创建的自定义类的nsmutable数组。到目前为止很好:)。
现在在第二个视图控制器(第一个的子节点)中有另一个nsmutable数组 我想从第一个视图控制器(从根目录)传递给他数组。
所以在方法中:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
我使用了这段代码:
if([segue.identifier isEqualToString:@"showDetailSegue"]){
UINavigationController *navController = (UINavigationController *)segue.destinationViewController;
tableViewController *controller = (tableViewController *)navController.topViewController;
controller.monthnames = monthnames;
}
但是当我运行程序并执行segue时,我收到了此错误消息:
[tableViewController topViewController]: unrecognized selector sent to instance 0x9836f20
我做错了什么?
感谢所有帮助者:)
答案 0 :(得分:0)
segue.destinationViewController
已经是你的第二个视图控制器了
(而不是导航控制器):
if([segue.identifier isEqualToString:@"showDetailSegue"]){
tableViewController *controller = (tableViewController *)segue.destinationViewController;
controller.monthnames = monthnames;
}
答案 1 :(得分:0)
我相信你的segue指向表视图控制器而不是导航控制器。将您的代码替换为:
if([segue.identifier isEqualToString:@"showDetailSegue"]){
tableViewController *controller = (tableViewController *)segue.destinationViewController;
controller.monthnames = monthnames;
}
应该有所帮助。