iOS原理备忘

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

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

iOS原理备忘_第1张图片
20161027152927970.jpg

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


内存管理

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

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

你可能感兴趣的:(iOS原理备忘)