一週前我有點搔着頭,現在又多了一點可可的經驗,我覺得我對可能發生的事情有了一定的瞭解。parentViewController總是一個導航控制器?
我正在製作一個由UINavigationController驅動的應用程序。在AppDelegate中,我使用「頁面1」作爲根視圖控制器創建此類的一個實例。
UINavigationController *aNavigationController = [[UINavigationController alloc]
initWithRootViewController:page1ViewController];
現在,這裏是我遇到問題的地方。從「頁面1」我想使用一個模式視圖控制器,滑過界面,然後一旦用戶編輯就消失。我這樣做,使用這樣的代碼,Page1ViewController內:
[self presentModalViewController:myModalViewController animated:YES];
當模態視圖控制器走了,我想在「1」的值基於什麼用戶在模態視圖控制器進入改變。所以,我寫了一些這樣的代碼,它駐留在模態視圖控制器:
[self.parentViewController dismissModalViewControllerAnimated:YES];
[self.parentViewController doSomethingPleaseWithSomeData:someData];
第1頁更新沒有發生,而且我花了很長時間才意識到「doSomethingPleaseWithSomeData」消息是沒有被髮送到Page1ViewController,但導航控制器。
使用導航控制器時總是會有這種情況嗎?我是否可能配置不正確的東西?有沒有一種簡單的方法來獲得我想要的視圖控制器(在這種情況下,Page1ViewController)。
完成正是我想要的,謝謝!我是Cocoa的新手,但不是MVC。不過,作爲Java Web開發人員,我幾乎總是忘記「C」中的控制器可以相互交互! – bpapa 2008-10-28 20:39:21