所以我見過一些這樣的例子,並試圖實現它們,但似乎無法讓它工作。我有兩個VC(在我的照片中標記爲VC1)轉到第二個視圖控制器(照片中的VC2)。 VC2有一個容器視圖。我將數據從VC1上的屬性傳遞給VC2上的屬性,然後我需要將該數據從V2傳遞給容器視圖上的屬性。基於使用某些NSLogs,看起來爲從我的容器視圖進入VC2的嵌入式segue準備的segue在VC2上的屬性由VC1傳遞的數據設置之前觸發,這意味着沒有數據傳遞給我的容器視圖。任何方式來解決這個問題?提前致謝。從父視圖傳遞數據到容器視圖
這是我在prepareForSegue VC2:
我的容器視圖是WineryPhotosCVC。我正在嘗試將WineryPhotosCVC的釀酒廠物業與VC2s酒莊物業聯繫起來。在prepareForSegue到我的容器視圖被調用之前,VC1並未由VC1設置VC2s酒莊屬性。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqual: @"containerViewSegue"]) {
WineryPhotosCVC *wineryPhotosCVC = segue.destinationViewController;
wineryPhotosCVC.winery = _winery;
}
}
我嘗試添加對我的容器視圖的引用,並將其添加到viewWillAppear,但數據仍然不會通過。這是我在VC2的viewWillAppear中的代碼:'wineryPhotosCVC.winery = self.winery;'你可以通過在容器視圖中設置一個函數來進一步解釋你的意思嗎?謝謝 – dcotter
這應該工作。設置斷點並在設置時檢查酒莊。另外,即使你設置了它,你想在容器視圖中使用它做什麼?查看容器視圖的委託方法,看看它是否有可用的酒廠數據。 – jarryd
GOT IT!謝謝您的幫助。問題是我對容器視圖控制器的引用。我最後通過'WineryPhotosCVC * wineryPhotosCVC = self.childViewControllers [0];'得到了參考。然後我做了'wineryPhotosCVC.winery = self.winery;'酒莊屬性有一個id,我需要傳遞給在我的容器視圖中進行的網絡調用以從Foursquare抓取照片。我感謝你的幫助。 – dcotter