一个仅支持iOS5且启用ARC的项目可以在Xcode 4.3.1 beta上编译。但是,在4.2.1上编译时,LLVM会抛出如下警告:
"ARC禁止合成未指定所有权或存储属性的Objective-C对象的属性"
因此,属性定义应该像这样:
@property (nonatomic) NSObject* object
在构建设置中启用了ARC。添加强属性可以解决此警告,但这应该是默认设置,对吗?
Xcode版本在处理这些属性默认值方面是否有区别?
谢谢 安迪
一个仅支持iOS5且启用ARC的项目可以在Xcode 4.3.1 beta上编译。但是,在4.2.1上编译时,LLVM会抛出如下警告:
"ARC禁止合成未指定所有权或存储属性的Objective-C对象的属性"
因此,属性定义应该像这样:
@property (nonatomic) NSObject* object
在构建设置中启用了ARC。添加强属性可以解决此警告,但这应该是默认设置,对吗?
Xcode版本在处理这些属性默认值方面是否有区别?
谢谢 安迪
@property(nonatomic,copy) NSString *text; // default is nil
copy
属性告诉我可以将NSMutableString
的引用传递给标签,它会创建一个副本,我可以继续改变字符串,而标签仍然保持不变。该行为已经明确定义。@synthesize
访问方法的需要,所以如果您意外保留了委托,则属性声明可能是唯一注意到此类问题的地方。
@property (nonatomic) NSObject* object
- abs