关于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,其实可看成指向同一个地址的指针;例子如下:

上一篇 下一篇

猜你喜欢

热点阅读