2013-04-21 47 views
0

我有一個數據控制器類在我的應用程序中使用,它處理解析xml和一些對我的應用程序至關重要的其他操作。我想要做的就是將它分析的數據存儲在一個數組中,該數組可以在我的應用程序的多個視圖中進行訪問。現在,每個視圖都會創建自己的數據控制器類實例,因此數據存儲的數組特定於該視圖控制器。有沒有辦法爲每個視圖控制器仍然創建數據控制器類的單個實例,但數據存儲在數組中,其中所有視圖都可以訪問它?我試圖存儲在NSUserDefaults中,但這似乎並不是最有效的方法。每個視圖控制器都需要擁有自己的數據控制器類實例,因爲我使用了每個視圖控制器中使用的委託方法。我希望這是有道理的。從多個視圖訪問NSArray

回答

0

你有兩種方式來實現這一點(好吧,也許兩個以上,但這些都是最常見):

  • 在應用程序委託存儲陣列和存取權限其財產。
  • 創建要保存數組的單例對象(以及其他可能的數據/方法)。
+0

哪一個你會更喜歡兩個? – 2013-04-21 20:24:41

+0

如果你有小應用程序,並且只有一個數組,那麼應用程序委託相當好。但是,如果您打算擁有更多共享數據,那麼使用應用程序委託來達到此目的可能會變得非常糟糕。因此我更喜歡使用單例對象,因爲這是很好的編程習慣,而且更正確的方法來做這件事情。 – 2013-04-21 20:29:30

+0

非常感謝。我是否仍然可以在單例中使用委託方法?我的想法是否定的,因爲你只有一個實例,所以它怎麼知道誰初始化了它? – 2013-04-21 20:33:41