Was erklärt am besten den Unterschied zwischen [myVar dealloc] und [myVar release]?

7

Ich glaube, ich kenne den Unterschied, weiß aber nicht, wie ich das richtig erklären soll.

dealloc entfernt den von dieser Variablen reservierten Speicher vollständig und sofort.

release dekrementiert den Retain-Zähler des Speichers dieser Variablen um -1. Wenn es 1 ist, dann ist es 0, also würde es den gleichen Effekt haben wie dealloc in diesem Moment.

ist das richtig? oder gibt es eine bessere kurze Erklärung?

    
Thanks 07.04.2009, 12:25
quelle

2 Antworten

13

Das stimmt genau.

Aber Sie würden dealloc nicht verwenden, wenn Sie ein Objekt verwenden, weil Sie nicht wissen, wie hoch die Retain-Anzahl ist. Es ist dir auch egal. Du sagst einfach, dass du es nicht mehr brauchst, indem du release aufruft. Und wenn niemand das tut, ruft das Objekt dealloc auf sich selbst auf.

    
Jaka Jančar 07.04.2009, 12:32
quelle
7

Alles in Ordnung, aber der einzige wichtige Punkt, den Sie verpassen, ist, dass Sie Dealloc niemals selbst aufrufen sollten. Hier einige Informationen aus der Dokumentation von Apple zur Dealloc-Methode von NSObject:

(aus Ссылка )

  

Sie senden niemals eine Dealloc-Nachricht   direkt. Stattdessen wird das Dealloc eines Objekts aufgelöst   Methode wird indirekt über aufgerufen   die Freigabe NSObject-Protokollmethode   (Wenn die Freigabenachricht in der   Empfänger behalten Zählung wird 0).   Siehe Speicherverwaltungsprogrammierung   Leitfaden für Kakao für weitere Details auf   die Verwendung dieser Methoden.

     

Unterklassen müssen ihre eigenen implementieren   Versionen von Dealloc zu ermöglichen   Freigabe von zusätzlichem Speicher   verbraucht durch das Objekt - wie z   dynamisch zugeordneter Speicher für Daten   oder Objektinstanzvariablen, die zu. gehören   das freigegebene Objekt. Nach   Durchführen der klassenspezifischen   Deallokation, die Unterklassenmethode   sollte Superklassenversionen enthalten   dealloc durch eine Nachricht an super:

    
Adam Alexander 07.04.2009 12:36
quelle

Tags und Links