OC源码分析-Runtime源码分析(六)
2019-02-13 本文已影响0人
TianTianBaby223
一 : 常用API
① : 获取isa指向,获得类对象或者元类对象
② : 修改isa指向
③ : 判断一个oc对象是否对class对象
二 : 创建类
注意 : 添加成员变量需要放入注册之前,因为成员变量在内存中结构是只读的.
添加成员变量
添加方法
三 : 其他api
① 获取实例变量信息
②获取实例变量列表
四 : 应用
① : 窥探某个实例的属性
修改placeholder的属性
② : 替换方法实现
第一个参数替换的是对象方法则传类对象,替换类方法,则传元类对象
③ : 交换方法实现
交换了两个方法的实现,调用run方法执行test方法,调用test方法执行run方法
方法交换用来拦截button按钮点击事件
交换实现
让NSMutableArray
添加nill 时候不报错
onceToken保证一次性
让NSMutableDictionary
key 为 nill时不报错