1.什么是动态特性?
程序可以访问,检测和修改它本身状态或行为的能力。用我自己的理解,这里的状态和行为,理解成变量,属性和方法,会更加形象一点。
2.与动态特性相关的概念,selector,IMP,Class
Class: 从语法形式上看,和UIButton,NSString一样,是一种类型。
Class被定义为一个指向objc_class的结构体指针。
它是指向对象的类结构体的指针,该类结构体含有一个指向其父类类结构的指针,访类方法的链表,该类方法的缓存以及其他必要信息。见下图
除了静态方法来创建对象,还可以使用string来创建,NSClassFromString。