iOS9中weak的改变


向弱引用说bye-bye

大家都知道,在ARC模式中,有两种引用:强引用和弱引用。这两种都是用来描述指针的,一个对象拥有的指针对象(strong,保留计数),或者它不拥有自己的指针对象(weak,保留计数不变)。
所以,弱引用可以让计数器归零,意味着对象执行dealloc方法的时候,指针就为零。

iOS8以前的使用

// UITableView iOS 8 之前
@property(nonatomic, assign) id dataSource
@property(nonatomic, assign) id delegate
// UICollectionView iOS 8 之前
@property(nonatomic, assign)id delegate
@property(nonatomic, assign) id dataSource

但是在iOS9中,使用了weak, nullable来代替assign

// UITableView iOS 9中使用
@property(nonatomic, weak, nullable) id dataSource
@property(nonatomic, weak, nullable) id delegate
// UICollectionView iOS 9中使用
@property(nonatomic, weak, nullable) id delegate
@property(nonatomic, weak, nullable) id dataSource

注意:但是考虑到系统的兼容性,到时候使用的时候需要作出判断!

你可能感兴趣的:(iOS9中weak的改变)