A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始



assign用于简单数据类型,如NSInteger,double,bool,

retain和copy用于对象,

copy用于当a指向一个对象,b也想指向同样的对象的时候,如果用assign,a如果释放,再调用b会crash,如果用copy 的方式,a和b各自有自己的内存,就可以解决这个问题。

retain 会使计数器加一,也可以解决assign的问题。

另外:atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。

加了atomic,setter函数会变成下面这样:

if (property != newValue) {

[property release];

property = [newValue retain];

}

1 个回复

倒序浏览
那strong和week是什么时候用的呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马