2009-10-07 61 views
1

呈現一個UIViewController返回值我有一個非常簡單的場景:iPhone - 從使用presentModalViewController

我的iPhone應用程序包含一個UIViewController實現其顯示的項目列表。在其導航欄中有一個用於將項目添加到該列表的按鈕。當點擊這個按鈕,一個新的UIViewController被實例化,使用呈現在屏幕上:

[self presentModalViewController:controller animated:YES]; 

該控制器包含需要用戶輸入列表中的一個新項目的意見。用戶輸入信息後,他點擊「完成」按鈕。

「完成」按鈕應該將所有輸入的信息並將其返回給第一個控制器(顯示列表的控制器)。第一個控制器可以根據剛剛輸入的信息將一個項目添加到其列表中。

我的問題是:如何以良好的方式將信息從第二個控制器發送回第一個控制器?

回答

2

你可以使用協議......在你的模式視圖控制器中,你可以定義一個協議,它必須由它的委託實現 - 比如說 - (void)userDidEnterInfo :(某種信息),在你的視圖控制器中,你想要將信息傳遞給您可以遵守協議併成爲視圖控制器委託...在您解僱之前或者只要您有信息通過您發送信息就可以調用[委託userDidEnterInfo:]並且視圖控制器將接收信息...繼承人更多關於協議http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProtocols.html#//apple_ref/doc/uid/TP30001163-CH15

+0

謝謝。這就是我一直在尋找的! – 2009-10-07 13:28:54

+1

正確的答案,本來代碼很好。並解釋爲什麼你應該避免循環依賴。 – PeyloW 2009-10-07 17:48:50

+0

theres在我提供的指南中的例子,不需要我提供代碼...它直接前進 – Daniel 2009-10-07 17:53:51

相關問題