Tut removeObject release das Objekt in einem NSMutableArray von Objekten?
Ich Frage mich, wenn Sie ein Objekt entfernen, mit removeObject in einem array, wenn das entfernte Objekt ist, korrekt behandelt. Würde das Objekt, das entfernt werden veröffentlicht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den NSMutableArray release wird es. Wenn die Letzte behalten, wird es werden aufgehoben. Aus der Dokumentation:
Sehen die NSMutableArray-Dokumentation. Ihr Beispiel, in der Tat, bezieht sich auf
removeObjectAtIndex:
:Ja. Sammlungen bewahren Werte, die Sie sammeln, wenn die Werte werden der Sammlung Hinzugefügt, was bedeutet, dass die Werte freigegeben werden, wenn Sie aus der Auflistung entfernt.
Ja, wenn das Objekt entfernt wird, aus der NSMutableArray, ist es veröffentlicht. Wenn seine retain count 0, wird es aufgehoben (oder Müll gesammelt, wenn Sie wurden stattdessen unter OS X mit GC aktiviert).
Als jeder gesagt hat, das Objekt von einem NSMutableArray freigegeben wird, nachdem es aus dem array entfernt.
Wenn Sie nicht wollen, um das Objekt freigeben, das, behalten Sie es einfach vor dem Aufruf von remove-Objekt-Methode. In diesem Fall sind Sie verantwortlich für es zu lösen, es später: