关于变量属性的retain,copy,assign,atomic,nonatomic的差别

关于变量属性的retain,copy,assign,atomic,nonatomic的差别,第1张

概述在cocoa编程当中,比较常用的一块,就是属性设置,就是自动为变量添加setter和getter方法,这些方法的添加,涉及到了属性的设置,那么这些属性的含义如何哪? 首先,属性的定义格式:@property (attributes) type name  对于property 的取值有,retain,copy,assign,atomic,nonatomic,read,readwrite,reado


在cocoa编程当中,比较常用的一块,就是属性设置,就是自动为变量添加setter和getter方法,这些方法的添加,涉及到了属性的设置,那么这些属性的含义如何哪?


首先,属性的定义格式:@property (attributes) type name 

对于property 的取值有,retain,copy,assign,atomic,nonatomic,read,reaDWrite,Readonly等等。往往另一迷惑的是这些定义的含义。

assign,简单来说,是非OC对象赋值。

retain,  是OC对象的赋值,即retain级数会增加。

copy,通常对字符串生效,完成一个字符串的拷贝。

atomic,这个可以与上述的三个属性共同使用,他是描述该变量是否支持多线程的同步访问,如果选择了atomic 那么就是说,系统会自动的创建lock锁,锁定变量。

总结

以上是内存溢出为你收集整理的关于变量属性的retain,copy,assign,atomic,nonatomic的差别全部内容,希望文章能够帮你解决关于变量属性的retain,copy,assign,atomic,nonatomic的差别所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1055774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存