美文网首页2016技术笔记
2016笔记——代理

2016笔记——代理

作者: 满庭花醉三千客 | 来源:发表于2018-07-27 11:13 被阅读3次

在开发中,我们经常会遇到代理,或者自己写代理,而代理的属性都用weak修饰,看过有些开发者用strong,但是并未发现有何不妥,也不清楚用weak与strong修饰有何区别。

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

strong:该对象饮用delegate,外界不能销毁delegate对象,会导致循环引用。

举例:

Dog.h 文件

屏幕快照 2016-02-24 11.41.24.png

Dog.m文件:

屏幕快照 2016-02-24 11.41.33.png

Person.h文件:

屏幕快照 2016-02-24 11.41.00.png

Person.m文件:

屏幕快照 2016-02-24 13.25.26.png

ViewController中实现:

屏幕快照 2016-02-24 13.25.05.png

注:以上测试环境为ARC环境。

看一下打印的东西:

weak时:

屏幕快照 2016-02-24 13.29.34.png

strong时:

无打印,说明Person和Dog对象都没有调用dealloc方法,两个对象未销毁。

这就是我们经常说的内存泄漏,该释放的内存并未释放!

具体分析之:

strong:

屏幕快照 2016-02-24 13.36.47.png

weak:

屏幕快照 2016-02-24 13.36.47 2.png

此外,assign修饰的变量,当其retainCount为0时,什么也不会做。weak修饰的变量,当其retainCount为0时,会将该变量置为nil。

最后,看一看人家苹果的代理方法(UITableView):

屏幕快照 2016-02-24 14.33.15.png

加油

相关文章

  • 2016笔记——代理

    在开发中,我们经常会遇到代理,或者自己写代理,而代理的属性都用weak修饰,看过有些开发者用strong,但是并未...

  • 2016笔记——UICollectionView代理

    最近整的UICollectionView,想要一个瀑布流,然后不是死的,而是根据网络图片加载后显示的瀑布流,鉴于对...

  • java基础巩固笔记(4)-代理

    标签: java Contents java基础巩固笔记(4)-代理概念动态代理创建动态类动态代理的工作原理面向切...

  • Jdk动态代理原理解析

    title: Jdk动态代理原理解析 tags:代理 categories:笔记 date: 2017-06-14...

  • UIScrollView笔记

    UIScrollView相关参数笔记 滑动相关代理方法 放大缩小视图相关代理方法

  • 做省心代理,正道科技为代理们传呼小小代理

    做省心代理,正道科技为代理们传呼小小代理 2012年火爆的淘宝,2014年风靡的微商,2016遍地的代理,电子商务...

  • Proxy代理者模式(一)

    摘要 本篇笔记针对Java设计模式中最难理解的代理者模式进行讲解,从静态代理、动态代理,及Java相关代理类的应用...

  • Proxy 代理模式

    设计原则学习笔记 设计模式学习笔记 作用 为对象提供增强作用 类图 图为静态代理。另有动态代理模式,由于类图不具...

  • 《我能让你睡得香-----一》

    2016-12-22原文:“春生夏长,秋收冬藏”笔记: 2016-12-22原文:◎春季:夜睡早起笔记: 2016...

  • Android studio学习笔记

    Android studio学习笔记 3.4.5 代理方法 3.5插入动态模板

网友评论

    本文标题:2016笔记——代理

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