Thema Datum  Von Nutzer Rating
Antwort
21.07.2011 16:22:37 Memory-Man
NotSolved
Blau Malloc Alloc Release Retain Copy & Init Frage
21.07.2011 21:18:53 Gu8n
NotSolved

Ansicht des Beitrags:
Von:
Gu8n
Datum:
21.07.2011 21:18:53
Views:
1470
Rating: Antwort:
  Ja
Thema:
Malloc Alloc Release Retain Copy & Init Frage

Hi Memory-Man,

ich kann Dir wohl nicht sagen was die offizielle Best Practice ist, aber ich kann Dir sagen was für mich gut funktioniert.

ich initialisiere grundsätzlich alle properties mit einem geeigneten standardwert, die properties die ich mit "retain" deklariere initalisiere ich mit "nil"

außerdem musst du die properties die du mit retain deklarierst in der dealloc-methode deiner klasse "release"n.

 

diese klassen-variablen würde ich nie direkt instanzieren, sondern immer nur zuweisen.

NSMutableArray *newArray = [[NSMutableArray alloc] init];
self.array = newArray;
[newArray release];

somit wird das newArray in Deiner Klassenvariable-Retained.

Im falle das dein objekt noch woanders bearbeitet wird und die keine nebeneffekte haben möchtest musst du natürlich eine kopie deines objektes machen.

(dazu musst du das NSCopying-protokoll implementieren)

dann kannst du einfach:

[array adobject:[otherObject copy]];

//oder den längeren (leserlicheren) weg:

Object *newObject = [otherObject copy];
[array addobject:newObject];
[newObject release];

 

Ich hoffe das hilft Dir etwas weiter!

Viele Grüße

 

Gu8n


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
21.07.2011 16:22:37 Memory-Man
NotSolved
Blau Malloc Alloc Release Retain Copy & Init Frage
21.07.2011 21:18:53 Gu8n
NotSolved