2011-06-16 61 views
0

因此,我正在研究基於iPad窗口的應用程序。將會有很多視圖,我會在這些視圖之間傳遞一些簡單的數據,主要是字符串(id),以告訴下一個視圖加載什麼內容。iOS視圖之間傳遞消息,基於窗口的應用程序

只是想知道如何去做這件事?我遇到了這個似乎是最好的解決方案,但我抓住了時間,現在對我來說可能有點矯枉過正。

可以在appdelegate中創建一個字符串,我可以存儲要由下一個視圖讀取的ID嗎?

任何想法歡迎..

謝謝。

回答

3
  1. 定義您的視圖控制器properties周邊的傳遞對象(如NSManagedObjectContext中所有的核心數據樣本中&模板)
  2. 讓一個視圖控制器的另一delegate,用於將數據作爲一個事件的結果(例如選擇tableview行,這是UITableViewDelegate的工作方式)
  3. 通過NSNotificationCenter在對象之間使用發佈/訂閱模式進行同步通知。這應該只用於多個對象可能發佈或訂閱的地方,或者對象之間的連接距離較遠的地方(它們之間的幾個視圖控制器)。對於異步發佈/訂閱使用NSNotificationQueue

不要使用AppDelegate作爲應用程序的數據包。這是很痛苦的改變,糟糕的設計,並且很難閱讀。

+0

謝謝你。我結束了與在AppDelegate中實例化的單例類。目前它似乎運作良好。手指交叉。 – conor 2011-06-24 08:30:34

+1

它會工作,這是可以是痛苦的維護。您可能會喜歡[本文](http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html)瞭解數據放置位置。 – RyanR 2011-06-24 13:48:54

相關問題