Frage

Ich habe eine UIViewController, die ich von einem NIB laden möchten, die einen Proxy (Platzhalter) Objekt darin definiert hat. Das erste Mal, dass ich es zu laden, gehe ich durch diese rigamarole:

MyViewController *screen = [[MyViewController alloc] init];

NSDictionary *proxyDict = [NSDictionary dictionaryWithObject:myObject forKey:@"MyProxy"];
NSDictionary *optionsDict = [NSDictionary dictionaryWithObject:proxyDict forKey:UINibExternalObjects];
[[NSBundle mainBundle] loadNibNamed:@"MyViewController" owner:screen options:optionsDict];

So setzt dies das Proxy-Objekt deklariert als „MyProxy“ in der NIB-Datei auf das Objekt myObject zu zeigen, die bereits vorhanden ist. So viel funktioniert.

Nun, wenn ich zu einem anderen Bildschirm gehen und eine niedrige Speicher Warnung auslösen, leert sie die Ansicht. wenn ich zu diesem Bildschirm zurück, es macht die automatische Nachladen der Ansicht, die für den Aufbau von Proxy-Objekten keinen Raum für eine manuell definierte Optionen Wörterbuch hat, und dann stürzt es versucht, ein Objekt zu finden „MyProxy“ zu verknüpfen.

Wie kann ich diese Arbeit machen?

War es hilfreich?

Lösung 2

Sie nie eine Lösung gefunden, reichte eine Feature-Anfrage, habe nicht gehört, zurück.

Andere Tipps

Wie wäre es das Proxy-Objekt in -loadView oder -viewDidLoad einrichten. Diese werden jedes Mal aufgerufen werden, wird die Ansicht / neu geladen geladen (zusammen mit -viewDidUnload nach einer Low-Memory-Bedingung).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top