Can't access parentviewcontroller's properties
下面是一个快速而肮脏的问题:我有一个"主"视图控制器(VC),它是从父VC打开的,使用导航控制器。然后我有一个从"主"VC打开的"子"VC(模式段)。
我在主VC接口中设置了一个属性:
1 | @property (nonatomic) int myVar; |
然后通过触摸按钮的操作进行设置,从"主"VC界面显示"子"VC:
1 | self.myVar=1; |
我把mainvc.h导入了subsc.h
然后,在subsc的viewdidload方法中,我试图访问myvar的值,但不能用以下方法进行访问:
1 | NSLog(@"Myvar is %i", ((mainVC*)self.parentViewController).myVar); |
返回值为0。
当我尝试PresentingView控制器方法时,我得到一个错误(当我按下segue而不是使其成为模式时,这不会导致错误:
[MainVC myVar]: unrecognized selector sent to instance
我正在尝试为ios 5编写代码,不用说我仍然是个笨蛋。我错过了什么?
谢谢!
"子"视图控制器的
如果需要将数据从主控制器传递到SEgue上的子控制器,请将实例变量添加到"Sub"视图控制器,并在PrepareForSegue方法中进行设置:
1 2 3 4 5 6 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"open_sub"]) { subVC *sub = segue.destinationViewController; sub.myVar = 1; } } |