基本使用

在程序运行过程中,动态的创建类,动态添加、修改这个类的属性和方法

遍历一个类中所有的成员变量、属性以及所有方法

消息传递和转发

典型使用

给系统分类添加属性、方法

方法交换

获取对象的属性、私有属性

字典转模型

KVC、KVO

归档(编码、解码)

block

  1. 快速查找,方法缓存

  2. 慢速查找,方法列表

  3. 消息转发

  • 方法的动态解析,resolveInstanceMethod

  • 快速消息转发,forwardingTargetForSelector

  • 标准消息转发,methodSignatureForSelector & forwardInvocation