Ich habe ein Projekt, das auf der Vorlage für navigationsbasierte Anwendungen basiert. Im AppDelegate befinden sich die Methoden -applicationDidFinishLoading:
und -applicationWillTerminate:
. Bei diesen Methoden lade und speichere ich die Anwendungsdaten und speichere sie in einer Instanzvariablen (es ist eigentlich ein Objektdiagramm).
Wenn die Anwendung geladen wird, wird MainWindow.xib geladen, das über einen NavigationConroller und einen RootViewController verfügt. Die RootViewController- nibName
Eigenschaft verweist auf RootView (meine eigentliche Controller-Klasse).
In meiner Klasse möchte ich auf das Objekt verweisen, das ich in der -applicationDidFinishLoading:
Methode erstellt habe, damit ich einen Verweis darauf erhalten kann.
Kann mir jemand sagen, wie das geht? Ich weiß, wie man zwischen Objekten referenziert, die ich programmgesteuert erstellt habe, aber ich kann nicht herausfinden, wie ich mich zurückfädle, da der mittlere Schritt aus der NIB-Datei heraus ausgeführt wurde.
quelle
Wenn ich Ihre Frage verstehe, möchten Sie auf Mitgliedsvariablen / -eigenschaften in Ihrem AppDelegate-Objekt verweisen? Am einfachsten ist es, [[UIApplication sharedApplication] delegate] zu verwenden, um einen Verweis auf Ihr Objekt zurückzugeben.
Wenn Sie eine Eigenschaft namens window haben, können Sie dies tun:
quelle
Hier ist eine gut definierte tragbare Alternative für iOS 4.0 und höher:
oder in einer Zeile
Vergessen Sie nicht, die
rootViewController
Eigenschaft des Fensters festzulegen (z. B. in IB).quelle
Definieren Sie ein Makro und verwenden Sie es überall!
In meinem Code: -
quelle