2009-07-26 6 views
38

Ich schreibe meine erste iPhone-Anwendung und habe Probleme beim Wechseln der Ansichten. Ich habe 2 Ansichten und einen Verweis auf jede in der AppDelegate (eine Instanz von UIApplicationDelegate). Ich erstelle Instanzen von beiden im applicationDidFinishLaunching und zeige sofort die erste Ansicht. Das funktioniert gut.Einen Verweis auf den UIApplication-Delegaten erhalten

Das Problem ist der Verweis auf die andere Ansicht ist in der AppDelegate und ich kann nicht herausfinden, wie man einen Verweis darauf bekommen, damit ich auf die andere Ansicht wechseln kann Gibt es eine Möglichkeit, einen Verweis auf die Hauptobjekte UIApplication oder UIApplicationDelegate zu erhalten?

Antwort

102

Ja, UIApplication ist ein Singleton, und verwendet den normalen Singletonmuster für Objective-C:

[UIApplication sharedApplication]; 

Sie können Ihre Stellvertretung Klasse direkt von ihm erhalten:

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

Es mag offensichtlich sein, aber es ist erwähnenswert, dass MyApplicationDelegate der Name der Klasse ist, die dem Protokoll ** UI entspricht ApplicationDelegate **, in vielen Fällen ** AppDelegate ** – Mehdi

16

Verwendung:

[[UIApplication sharedApplication] delegate];