Ich habe eine kurze Frage über ARC in iOS. (Entschuldigung, ich habe so viele Fragen dieser Art gestellt, aber ich bin einfach so verwirrt bezüglich der Speicherverwaltung.). Es ist wichtig zu beachten, dass ich nie das alte Speicherverwaltungssystem (retain
, release
, assign
... usw.) verwendet habe, so dass ich nicht wirklich weiß, was diese Begriffe bedeuten.Wann werden starke Eigenschaften in ARC in iOS veröffentlicht?
Im Moment bin ich verwirrt darüber, was ich tun muss, um sicherzustellen, dass starke Eigenschaften richtig freigegeben werden. Angenommen, ich mache eine Schul-App und mein School
Objekt enthält starke Eigenschaftsreferenzen auf 5 verschiedene Child
Objekte (nicht in einem Array). Jedes Objekt Child
hat einen starken Zeiger (Eigenschaft) auf ein Objekt Book
.
Wenn ich eines der Objekteaus meiner Schule entferne (sagen wir, indem wir seine Eigenschaft = nil machen oder indem ich meine Eigenschaft auf ein neues Objekt umstelle), wird seine Book
korrekt freigegeben? Was muss ich tun, um sicherzustellen, dass dies der Fall ist? Muss ich self.myBook = nil
in einer dealloc
Methode schreiben? Was, wenn Child
ein View-Controller wäre, müsste ich self.myBook = nil
in der viewDidUnload-Methode schreiben?
Ich ziele nur auf iOS 5 (und höher), so dass die alte Art der Speicherverwaltung nicht wirklich wichtig für mich ist.
Ich empfehle Ihnen, dies zu lesen: http://clang.llvm.org/docs/AutomaticReferenceCounting.html –
Vielen Dank für den Vorschlag. Ich werde es mir ansehen. – Nosrettap