2009-07-26 11 views
38

Sto scrivendo la mia prima applicazione per iPhone e ho problemi a cambiare visualizzazione. Ho 2 viste e un riferimento a ciascuno nel AppDelegate (un'istanza di UIApplicationDelegate). Creo istanze di entrambi nello applicationDidFinishLaunching e visualizziamo immediatamente la prima vista. Funziona beneOttenere un riferimento al delegato dell'applicazione UIA

Il problema è il riferimento all'altra vista è nel AppDelegate e non riesco a capire come ottenere un riferimento ad esso in modo da poter passare all'altra vista. C'è un modo per ottenere un riferimento agli oggetti principali UIApplication o UIApplicationDelegate?

risposta

102

Sì, UIApplication è un Singleton, e utilizza il pattern Singleton normale per Objective-C:

[UIApplication sharedApplication]; 

è possibile ottenere la classe delegato direttamente da esso:

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

può essere ovvio, ma vale la pena notare che MyApplicationDelegate è il nome della classe conforme al protocollo ** UI ApplicationDelegate **, in molti casi ** AppDelegate ** – Mehdi

16

Usa:

[[UIApplication sharedApplication] delegate]; 
Problemi correlati