Object-C 中的强指针与弱指针

1>强指针:默认情况下,所有的指针都是强指针.我们也可以用__strong修饰。

2>弱指针:用__weak修饰的指针,就是弱指针。

共同点:无论是强指针还是弱指针,都是指针,都可以用来存储地址.都可以通过这个指针访问对象的成员区别:在ARC模式下,他们用来作为回收对象的基准,如果一个对象没有任何类型的强指针指向的时候,对象就会被自动释放。

3>强指针与弱指针的声明默认情况下,所有的指针都是强类型的.也可以用__strong来标识这个指针是强指针,使用__weak标识指针的类型是弱指针类型的指针。

4>ARC模式下对象的回收机制没有强指针指向一个对象的时候.就会被自动回收

5>ARC机制下,属性的类型是OC对象类型的时候,一般用strong,非OC对象的类型使用assign

6>ARC机制下的循环引用问题

6.1当两个类相互引用作为对方的属性的时候.在ARC机制下两边都用strong就会出现循环引用,导致内存泄漏

6.2.解决办法:一端用strong,一端用weak

    原文作者:超人_22
    原文地址: https://www.jianshu.com/p/d8ae167e0cc5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞