ios runtime的使用
2018-03-28 本文已影响17人
CYG斗战佛
ios 开发中的runtime 的简单理解
1.runtime也就是ios开发中的运行时机制,是一套比较底层的C语言API,属于一个C语言库,而我们也可以看做是一个框架。
2.我们所编写的oc代码 ,在程序运行时,最终会转为runtime的C语言代码
例如:UIView *aView = [[UIView alloc] init];
runtime:
objc_msgSend(objc_msgSend(@"UIView","alloc"),"init")
用法
1.动态创建类,(KVO底层的实现,KVC的底层的实现)
2.在程序运行中动态为类添加属性/方法 ,修改属性/方法
3.遍历类的所有成员变量和方法
例如

为类动态添加属性(一般是为系统所带的类添加方法和熟悉)
例如NavigationBar渐变透明的实现,为navigationBar动态添加一个View的属性

KVO去实现监听属性时,会动态的生成一个类