Ich neige dazu, meine Sachen in -dealloc zu lösen, und jetzt 3.0 iPhone OS dieses lustige -viewDidUnload Verfahren eingeführt, wo sie sagen:Was genau muss ich in ViewDidUnload tun?
// Lassen Sie jede Subviews von Ansicht der Haupt beibehalten. // z.B. self.myOutlet = null;
So -viewDidUnload scheint aufgerufen zu werden, wenn die Ansicht des View-Controllers aus dem Speicher gelöscht wurde. Und wenn ich Subviews an die Hauptansicht des View-Controllers angehängt habe, muss ich diese Sachen nur HIER veröffentlichen, aber nicht in -dealloc?
Das ist verwirrend. Was passiert, wenn -dealloc bewirkt, dass die Ansicht entladen (freigegeben) wird? Dann wird es wieder aufrufen - ViewDidUnload?
Ich erkenne den Unterschied, dass -viewDidUnload nur für den Fall ist, wo die Ansicht selbst getötet wird, aber der View-Controller im Speicher bleibt. Und -dealloc ist für den Fall, dass die ganze Sache in den Müll geht.
Vielleicht kann jemand die Verwirrung klären.
Ähnliche Fragen: http://stackoverflow.com/questions/1158788/when-should-i-release-objects-in-voidviewdidunload-rather-than-in-dealloc –
viewDidUnload ist in iOS 6 veraltet! – whyoz