iOS原理备忘

KVO底层原理
涉及到了runtime,关于isa指针

1、当一个类(A)的属性被观察的时候,系统会通过runtime动态的创建一个A类的派生类(B)
2、B类继承于A类
3、将A类的isa指针指向B类
4、在B类中重写被观察的属性的setter方法
5、重写的setter方法会在调用原setter方法前后,通知观察对象值得改变

20161027152927970.jpg

引用 http://blog.csdn.net/yangyangzhang1990/article/details/52945701


内存管理

两张表 一张引用计数表
一张引用地址表

引用计数表保存 引用计数数值、是否有若引用
引用地址表保存 引用地址列表(弱引用地址列表)
当对象将要销毁时 判断是否有弱引用,有弱引用遍历弱引用地址列表置为nil 执行销毁操作
引用 http://www.jianshu.com/p/ef6d9bf8fe59

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

推荐阅读更多精彩内容