尝试在父视图控制器中设置属性,但最终为空

时间:2014-02-18 06:04:08

标签: ios iphone objective-c uiviewcontroller uinavigationcontroller

我在一个由导航控制器推入堆栈的视图控制器中。

我有这个代码在按下后退按钮时运行:

- (void)didMoveToParentViewController:(UIViewController *)parent {
    if (![parent isEqual:self.parentViewController]) {            
        //NSLog(@"Back pressed");
        MyCustomViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"TableVC"];
        vc.index = [_itemChooser selectedRowInComponent:0];
    }    
}

我正在尝试将索引设置为我在选择器视图中选择的索引。如果我在这里NSLog值,它是正确的,但是如果我在父级的viewWillAppear中NSLog值,它是0。 (如果我使用的是对象而不是NSUInteger,则打印为Null)

像这样推动它:

[self.navigationController pushViewController:pickervc animated:YES];

1 个答案:

答案 0 :(得分:1)

我通过在子类中定义视图控制器属性并在推送之前为其分配self来解决了我的问题。然后我能够从孩子的父母那里设置/访问属性没问题。