关于weak属性
2017-02-28 本文已影响131人
颛祎
使用情况,分为三种:storyboard ,Xib等资源,delegate属性和其他类对象属性
1、weak对象本身不能直接初始化,因为一初始化就会马上被释放(本质上是因为引用计数count没有+1),无意义,需要将其指向一个强指针
weak对象的释放,例子如下:

输出结果为:weakobj is nil;
2、但是当weak属性修饰的是一个UIView,当weakView被加入到其他视图的subView时,要注意UIView的subViews属性有一个copy:@property(nonatomic,readonly,copy) NSArray<__kindofUIView *> *subviews;
故而该weakView会被转为一个强类型,此时,weakView和他所指向的stringView,其实可看成指向同一个地址的指针;例子如下:
