2009-07-26 42 views
38

我正在編寫我的第一個iPhone應用程序,並且在切換視圖時遇到問題。我對AppDelegateUIApplicationDelegate的一個實例)有2個視圖和每個視圖的引用。我在applicationDidFinishLaunching中創建了兩個實例,並立即顯示第一個視圖。這工作正常。獲取對UIApplication代理的引用

問題是對其他視圖的引用是在AppDelegate,我無法弄清楚如何獲得對它的引用,所以我可以切換到其他視圖。有沒有辦法獲得對主體UIApplicationUIApplicationDelegate對象的引用?

回答

102

是,UIApplication的是一個單,並使用Objective-C的正常Singleton模式:

[UIApplication sharedApplication]; 

您可以直接讓你的委託類:

MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 
+1

它可能是顯而易見的,但值得注意的是MyApplicationDelegate是符合協議** UI的類的名稱ApplicationDelegate **,在許多情況下** AppDelegate ** – Mehdi 2015-11-05 14:45:30

16

用途:

[[UIApplication sharedApplication] delegate];