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
|