Benötige ich ARC-Schlüsselwörter für Eigenschaften, die ich nicht synthetisiere?
Ich habe eine Eigenschaft, die ich nicht synthetisiere, sondern selbst einen Getter und Setter erstelle. Daher haben die ARC-Schlüsselwörter (stark oder schwach) vermutlich keine Bedeutung und werden daher entfernt. Dies funktioniert in Xcode 4.3 einwandfrei, aber wenn mein Kollege sie in XCode 4.2 öffnet, beschwert sich der Compiler, dass es kein starkes / schwaches Schlüsselwort gibt, und ich habe ihn angewiesen, das Schlüsselwort sinnlos erneut einzugeben. Was ist richtig (mit oder ohne Keywords)?
Um es klar zu sagen: Ich habe eine Immobilie wie diese@property (nonatomic) NSString *foo
und in der .m Datei implementiere ich-(NSString *)foo
und-(void)setFoo:(NSString *)foo
und NICHT einschließen@synthesize foo
. Ein weiteres relevantes Detail ist, dass es keine entsprechende iVar gibt, sondern die Eigenschaften mit einem Core Data-Objekt interagieren. Dies wird in XCode 4.2 nicht kompiliert, es sei denn, ich füge den Schlüsselwörtern "strong" oder "weak" hinzu.
BEARBEITEN Ich dachte an eine relevantere Sache, eine dieser Eigenschaften ist auf einem Protokoll, ich weiß nicht, ob das einen Unterschied macht.