2012-02-20 16 views

回答

0

我看到的最常見的方式是使用App Delegate。也許,因爲這是最簡單的方法。但是,App Delegate經常被濫用。一些開發人員傾向於賦予App Delegate很大的責任。有幾次,我看到開發人員使用App Delegate作爲他們的數據模型。那會被認爲是糟糕的設計。

我說這只是警告,不要讓它失去控制。因此,這裏是在您的應用程序在任何地方使用的初始化對象的一種方法:當你需要

  1. 在App委託創建對象
  2. 添加getter和setter方法 對象在應用程序委託
  3. 使用對象的獲取方法,像這樣的地方引用該對象在應用程序中的應用代表了它:

    AppDelegate *appDelegate = (AppDelegate *) 
                [UIApplication sharedApplication].delegate; 
    
1

你可以使用一個Singleton OO pattern或我經常這樣做就是在RootViewController創建一個類的實例。

這個RootViewController可以通過使用委託或通過(使用UIApplication實例)icw窗口/單個查看的應用程序來訪問。

(YourAppViewController *)[(YourAppDelegate *)[[UIApplication sharedApplication] delegate] viewController]; 

你甚至可以加快速度,如果你在你的.PCH定義一個全局變量:

#define ROOTVIEWCONTROLLER ((YourAppViewController *)[(YourAppDelegate *)[[UIApplication sharedApplication] delegate] viewController]) 
+0

感謝一個nswer! – 2012-02-21 12:59:16

0

創建AppDelegate中的屬性,並以該變量加載數據。

隨着

[[UIApplication sharedApplication] delegate] 

可以從整體訪問您的AppDelegate在您的應用程序。因此你可以訪問你的財產和價值;)

希望有幫助嗎?

相關問題