IOS中atomic/nonatomic、retain/assign的区别

atomic:原子操作,在多线程环境下提供操作保护;

nonatomic:非原子操作,不提供保护,在多线程环境下可能发生未知错误;

retain:保持引用,也就是对象的引用计数值 count += 1,由此得到的对象和传入的对象指向的是同一内存空间,相当于指针赋值;

assign:赋值操作,会在内存中开辟新的空间,将传入的参数/对象复制一份以供自己使用。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。