Kar*_*arl 9 compiler-errors properties objective-c llvm compiler-warnings
我正试图摆脱CLANG/LLVM 3.0给我的恼人警告.我在我的对象中设置了以下ivar:
bool preloaded;
Run Code Online (Sandbox Code Playgroud)
以下属性声明:
@property(readonly) bool preloaded;
Run Code Online (Sandbox Code Playgroud)
以下综合调用:
@synthesize preloaded;
Run Code Online (Sandbox Code Playgroud)
目前,编译器抱怨:
默认情况下,属性为原子
如果我更改属性声明以添加"原子":
@property(atomic,readonly) bool preloaded;
Run Code Online (Sandbox Code Playgroud)
它也抱怨这个:
错误:在'原子'之前预期属性属性
所以看来如果我这样做我该死的,如果我不这样做该死的......我有什么东西我不见了吗?
您似乎在项目设置中启用了Implicit Atomic Objective-C属性 LLVM编译器警告.关闭此功能将删除警告.
如上所述,atomic它不是有效的关键字,仅仅是缺少的隐含nonatomic.来自Apple的声明属性文档:
您可以使用此属性指定访问者方法不是原子的.(没有关键字来表示原子.)