首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

iphone retain 跟 assign的区别

2012-07-24 
iphone retain 和 assign的区别assign表示直接传递引用给属性值retain表示将某个对象引用传递给属性值时,

iphone retain 和 assign的区别
assign表示直接传递引用给属性值
retain表示将某个对象引用传递给属性值时,属性值会将引用计数加一,也就是说,属性会自己额外保留一份引用.
举例子说.
NSObject a= [[NSObject alloc] init];
classb.oneProperty = a;
[a release];
如果是assign的话,a被release之后,classb的oneProperty就不能再被使用.
如果是retian的话,a被release之后,classb的oneProperty就可以继续使用.
当然,像int这样的简单数据类型,只能用assign,因为它不是对象实例,不能retain.

热点排行