property(copy) directive bei Objective-C NSMutableArrays

Die Tage tappte ich in eine böse Falle für einen Anfänger in Objective-C. Ich wollte ein NSMutableArray über die Direktive @property(copy) synthetisieren. In der init-Methode allokierte ich das Array per

- (id) init{
if (self = [super init]) {
self.simpleArray = [[NSMutableArray alloc] init];
[self doSomething];
}
return self;
}

In der Methode  doSomething wollte ich dann Elemente dem veränderlichen Array zuweisen. Leider krachte es dann immer mit dem Hinweis, das Objekt simpleArray sei immutable.

Die Ursache hiefür liegt darin, dass zum Kopieren das Protokoll NSCopying und nicht NSMutableCopying benutzt wird….

Genauer wird dies noch in diesem Thread einer Mailinglist dargelegt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *