Ich habe gerade einen Absturz festgestellt, den ich in meiner iOS-App hatte und der damit in Verbindung steht, dass willAnimateRotationToInterfaceOrientation vor viewWillAppear aufgerufen wird.willAnimateRotationToInterfaceOrientation wird aufgerufen VOR viewWillAppear
Ich habe eine App mit zwei Ansichten. Im Grunde, wenn view1 verschwindet, gebe ich einige Arrays frei, vorausgesetzt, sie werden neu initialisiert, wenn sie in viewWillAppear wieder erscheinen.
Wenn ich jedoch die Ausrichtung in view2 ändere, dann wechsle zurück zu view1, dies verursacht willAnimateRotationToInterfaceOrientation, bevor view1 viewWillAppear aufgerufen und alles neu initialisiert hat und dies einen Absturz verursacht.
Gibt es eine Möglichkeit, willAnimateRotationToInterfaceOrientation zu verzögern, bis die Ansicht erscheint und alles neu initialisiert wurde? Wenn nicht, sind die einzigen Lösungen, die ich sehen kann, entweder die Verwendung von willAnimateRotationToInterfaceOrientation (was zu einer hässlich aussehenden Orientierungsänderung führt) oder die Freigabe meiner Daten beim Wechsel von view1 zu view2, was dazu führt, dass mehr Speicher benötigt wird.
Hat jemand irgendwelche Gedanken darüber, was ich tun soll?
Danke, das macht Sinn, aber wie kann ich feststellen, ob mein Array neu initialisiert wurde oder nicht? Ich probierte if (! MyArray) und if (myArray = nil) und if ([myArray count] == 0), aber keine davon scheint zu funktionieren, nachdem das Array freigegeben wurde und bevor es neu definiert wurde. Das Array wurde in @interface definiert, da der Bereich die gesamte Klasse sein soll, dann wird es in viewDidAppar initialisiert und dann in viewWillDissappear freigegeben. Jetzt muss ich bei dieser Orientierungsänderung herausfinden, ob sie freigegeben wurde oder nicht. Ein globaler Boolean könnte funktionieren, aber das ist nicht sehr elegant. – Jackson
Ok ich habe eine Idee. Sollte ich mein Daten-Array freigeben und DANN auf Null setzen, so kann ich später prüfen, ob es gleich Null ist, sonst reinitialisieren Sie es? – Jackson