0

我處於由導航控制器壓入堆棧的視圖控制器中。嘗試在父視圖控制器中設置屬性,但它最終爲空

我有這樣的代碼,當按下後退按鈕運行:

- (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 (它打印爲Null如果我使用的對象,而不是NSUInteger)

推它是這樣的:

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

你爲什麼要推送parentviewcontroller而不是popover?並根據你的代碼我認爲你的IF(![parent isEqual:self.parentviewcontroller]])是錯誤的刪除!從條件 –

+0

我把孩子從家長的內部推到堆棧。 – Inbl

+0

我知道了!很奇怪,但是當我沒有做檢查的時候,當我推動和彈出時,它都會發生。 – Inbl

回答

1

我在子類中定義一個視圖控制器屬性,前推自主分配給它解決了我的問題。然後,我可以設置/訪問孩子父母的屬性沒有問題。

相關問題