2009-07-26 9 views
38

Escribo mi primera aplicación de iPhone y tengo problemas para cambiar de vista. Tengo 2 vistas y una referencia a cada una en el AppDelegate (una instancia de UIApplicationDelegate). Creo instancias de ambos en el applicationDidFinishLaunching e inmediatamente muestro la primera vista. Esto funciona bienObtener una referencia al delegado UIApplication

El problema es que la referencia a la otra vista se encuentra en el AppDelegate y no puedo encontrar la manera de obtener una referencia para poder cambiar a la otra vista. ¿Hay alguna manera de obtener una referencia a los objetos principales UIApplication o UIApplicationDelegate?

Respuesta

102

Sí, UIApplication es un producto único, y utiliza el patrón Singleton normal para Objective-C:

[UIApplication sharedApplication]; 

usted puede conseguir su clase delegada directamente de ella:

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

puede ser obvio, pero vale la pena señalar que MyApplicationDelegate es el nombre de la clase que cumple con el protocolo ** UI ApplicationDelegate **, en muchos casos ** AppDelegate ** – Mehdi

16

Uso:

[[UIApplication sharedApplication] delegate]; 
Cuestiones relacionadas