美文网首页
Object-C 中的强指针与弱指针

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

作者: 超人_22 | 来源:发表于2017-11-16 17:57 被阅读0次

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

相关文章

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

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

  • ARC中强指针与弱指针

    ARC是苹果为了简化程序员对内存的管理,推出的一套内存管理机制使用ARC机制,对象的申请和释放工作会在运行时,由编...

  • android智能指针介绍

    本篇介绍 android中有三种智能指针,分别是轻量级指针,强指针,弱指针。轻量级指针实现简洁,效果类似于强指针,...

  • 懒加载, 强/弱指针, 强/弱引用

    点击查看-->懒加载, 强/弱指针, 强/弱引用

  • Android基础--智能指针

    智能指针分为3类为轻量级指针(Light Pointer)、强指针(Strong Pointer)和弱指针(Wea...

  • Android智能指针

    A、在这里说明下,android中sp为强指针(sp==IServiceManager*),wp为弱指针。而在C+...

  • Chapter 10 - 强指针 弱指针

    强指针 默认情况下,我们声明一个指针 这个指针就是1个强指针 我们也可以使用__strong来显式声明这是一个强指...

  • Android智能指针

    网上已经有很多分析智能指针的文章了,讲得不错的是:Android系统的智能指针(轻量级指针、强指针和弱指针)的实现...

  • iOS 中的内存管理优化

    闭包 外面将强引用对象转化为弱引用指针,防止循环引用 block内弱引用转换成strong强引用指针,防止多线程和...

  • Objective-C基础学习之ARC下的内存管理

    1.ARC下单对象内存管理 局部变量释放对象随之被释放 清空指针对象随之被释放 默认清空所有指针都是强指针 弱指针...

网友评论

      本文标题:Object-C 中的强指针与弱指针

      本文链接:https://www.haomeiwen.com/subject/dghrvxtx.html