runtime相关知识
简介:
objc是一门动态语言,它总是想办法把一些决定工作从编译连接推迟到运行时。也就是说只有编译系统是不够的,,还需要一个把一些一个运行时系统(runtime system)来执行编译后的代码。这就是 Objective-C Runtime 系统存在的意义,它是整个 Objc 运行框架的一块基石。
NSObject
还有些方法能在运行时获得类的信息,并检查一些特性,比如class
返回对象的类;isKindOfClass:
和isMemberOfClass:
则检查对象是否在指定的类继承体系中;respondsToSelector:
检查对象能否响应指定的消息;conformsToProtocol:
检查对象是否实现了指定协议类的方法;methodForSelector:
则返回指定方法实现的地址。
runtime基础数据结构: