我在我的应用程序中使用QHTTPOperation.{h/m}
,发现here都可以正常工作,但收到以下8条警告:
可写原子属性'acceptableStatusCodes'无法配对
具有用户定义的设置器/获取器的合成设置器/获取器
可写原子属性'acceptableContentTypes'无法配对
具有用户定义的设置器/获取器的合成设置器/获取器
可写原子属性'authenticationDelegate'无法配对
具有用户定义的设置器/获取器的合成设置器/获取器
...
我问是因为我注意到在上面链接的项目中没有与QHTTPOperation.{h/m}.
相关的警告
任何想法?
谢谢
最佳答案
声明属性nonatomic
。
因为编译器不会验证用户定义的访问器的实现是原子的还是非原子的,所以假定它不是原子的。考虑到实际的实现使用对象级自旋锁(在某些情况下),并且支持该实现的数据是从我们抽象出来的,这是一个非常安全的假设。我们能够实现联系的唯一方法是使用编译器使用的( private )运行时函数,然后在这种情况下,编译器将必须验证调用和参数是否正确。因此,不能保证用户定义的访问器满足标准的objc运行时原子协定。