41 Stimmen

NSArray @property unterstützt durch ein NSMutableArray

Ich habe eine Klasse definiert, in der ich eine öffentliche Eigenschaft so darstellen möchte, als ob sie durch eine NSArray . Das ist einfach genug, aber in meinem Fall ist das eigentliche Backing Ivar ein NSMutableArray :

@interface Foo
{
    NSMutableArray* array;
}
@property (nonatomic, retain) NSArray* array;

@end

In meiner Implementierungsdatei ( *.m ) I @synthesize die Eigenschaft, aber ich stoße sofort auf Warnungen, weil die Verwendung self.words ist dasselbe wie der Versuch, eine NSArray .

Wie geht man dabei richtig vor?

Danke!

0voto

chris stamper Punkte 12923

Die einfachste Antwort: Ihr Eigenschaftstyp (NSArray) stimmt nicht mit dem Typ Ihrer Instanzvariablen (NSMutableArray) überein.

Dies ist ein weiterer guter Grund dafür, dass sollten Sie nicht Ihre eigenen Backing-Variablen definieren. Lassen Sie @synthesize Ihre Instanzvariablen einrichten; tun Sie es nicht von Hand.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X