在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一.强弱引用
强引用:strong reference 弱引用:weak reference 引用可以理解为指针A指向的对象B。换句话说,拥有指针A的对象是对象B的所有者(ownership).
区别:其中strong就相当于retain属性,而weak相当于assign。
1.一般的引用都是强引用。但为什么又提出弱引用呢? 弱引用的提出是为了防止强引用出现reference cycle,也就是指向的死循环,如果出现死循环,容易出现内存泄漏。 2.弱引用的特点是什么?如何使用弱引用? __weak BNRItem *_container;//使用“__weak”
其他:nonatomic与atomic主要面对的是线程安全的问题,当然使用atomic更安全,获取数据更准备,使用nonatomic,会更高效,原因就是在于加锁的缘故嘛。但是苹果开发一般都使用的是nonatomic
二.properties
@propery NSString *itemName; 此语句做了三件事情:一个实例变量,两个访问实例变量的方法。 propery的属性: @property (nonatomic, readwrite, strong) NSString *itemName;
unsafe_unretained是一个直接的assign。没有retain计数,如果变量指向的对象已经销毁了,其指针值不会自动设置为nil。但是weak属性是可以的,一般用在非对象的引用中。 copy是复制一份数据,能够防止其他拥有者改变数据内容受到的影响 如果你有更多的需求,则可以自己建立,setItem,item方法。 |
请发表评论