我有一个我不合成的属性,而是我自己创建了一个 getter 和 setter。因此,我认为 ARC 关键字(强或弱)没有意义,因此我将其删除。这在 Xcode 4.3 上运行良好,但是当我的同事在 XCode 4.2 上打开它们时,编译器抱怨没有强/弱关键字,所以我指示他再次毫无意义地重新输入关键字。哪个是正确的(有或没有关键字)?
需要明确的是:我有一个这样的属性,@property (nonatomic) NSString *foo
并且在我实现的 .m 文件中-(NSString *)foo
并且-(void)setFoo:(NSString *)foo
不包含@synthesize foo
. 另一个相关细节是没有对应的 iVar,而是属性与 Core Data 对象交互。除非我在关键字中添加强或弱,否则这不会在 XCode 4.2 中编译。
编辑我想到了一件更相关的事情,其中一个属性在协议上,我不知道这是否会有所作为。