atomic与nonatomic的区别

使用@property声明属性时,经常用到atomic与nonatomic两个关键字,默认为atomic。atomic与nonatomic决定了编译器生成的setter、getter方法是否为原子操作。如果自己写了setter、getter方法,那么atomic/nonatomic、assign/retain/strong/weak/copy等关键字仅仅起提示作用,写与不写并无区别。

atomic是Objc使用的一种线程保护技术,系统生成的getter、setter会保证get、set操作的完整性。相对nonatomic来说,atomic要更耗费资源,且速度要慢,所以在iPhone等小型设备上,如果没有用到多线程之间的通讯,那么nonatomic是更好的选择。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容