delegate 协议 weak 修饰

weak :指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制器

strong 该对象强引用delegate 外界不能销毁delegate对象 会导致循环引用 retain cycles
A 引用 B B 引用 C C 有引用 A 如果用strong修饰 这个代理就会永远无法释放

如果用 assign 修饰 assign是指针赋值,不对引用计数进行操作,如果使用完毕以后,不把其置为nil,就有可能产生野指针,这时候如果操作 不当 会crash。

而weak使用完就没有了,所以weak更安全,其他也没啥区别

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1 什么是自动引用计数 概念:在 LLVM 编译器中设置 ARC(Automaitc Reference Co...
    __silhouette阅读 5,241评论 1 17
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,203评论 30 471
  • 亲爱的妹妹: 好久没给你写情书了,前两天给你们月亮班的同学们写情书,回忆了这近一年的你和你的同学们的成长,很是感动...
    helenxxf阅读 351评论 1 1
  • 我是看到一个朋友的读后感才知道《大书特书》这本书的,虽然看了他的读后感,其实还是不知道这本书到底在讲什么,只不过对...
    是京京呀阅读 729评论 0 3
  • 若是爱,就爱的白首不渝,不管荆棘遍地,不顾南柯一梦; 若是恨,就恨的刻骨铭心,不管人面兽心,不顾阴谋诡计; 若是悲...
    素墨Y阅读 453评论 0 0