iOS-atomic与nonamatic的区别

atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。
atomic:设置成员变量的@property属性时,默认为atomic,提供多线程安全。
nonatomic:禁止多线程,变量保护,提高性能。atomic是OC使用的一种线程保护技术,基本上来说,是防止在写未完成的时候被另一个线程读取,造成数据错误。而这种机制是耗费系统资源的。所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择。
*基础数据类型和c类型不使用引用计数器(用assign修饰)。assign是直接赋值,retain是使用引用计数器。

猜你喜欢

转载自blog.csdn.net/xiaoxingaiwo/article/details/81281542