2009-07-24 65 views
0

我目前正在開發我的第一個iPhone應用程序,我想知道什麼是共享將在每個控制器中使用的對象的最佳方式。我的iPhone中的對象共享應用程序

我在考慮在其他控制器中引用包含所需數據的控制器,並通過屬性訪問此數據,這是一個好主意還是有更好的方法來實現它?

或者我們可以在應用程序的任何位置聲明任何全局變量(不是const)嗎?

謝謝

回答

4

從你的問題中不清楚你正在處理什麼樣的數據,但是我在iphone應用程序中使用的一種方法是包含應用程序狀態和狀態管理功能的單例對象。

對於在Cocoa With Love找到的這種類型的數據,單身人士與應用程序代表的使用有很好的討論,我同意他在這裏要說的話。

例如,這種情況下的應用程序有一個綁定到web應用程序的用戶帳戶,所以在加載應用程序時會初始化單例對象,並且當用戶登錄時它將保持對單例中的用戶對象的引用,用戶信息可以被api調用引用。

這種方法對我的目的非常有效,您可以看到如何在Objective-C here中創建單例類,並且在蘋果文檔here中也有幾種方法可以提供相同的功能結果。

一旦你定義了你的單例類,你可以在applicationDidFinishLaunching或主控制器的viewDidLoad中初始化它,並初始化你需要管理的全局可訪問數據。我強烈建議你閱讀我上面鏈接的可可愛篇文章,瞭解管理整個過程的一些注意事項。

希望有所幫助。

如果您遇到困難,我可以發佈一些示例代碼,但可用的單例類示例非常簡單易用。

0

如果你真的需要它是全球性的,你可以把它放在AppDelegate中或創建數據管理對象。但我認爲這樣做是不好的。