初识runtime

runtime是什么?

runtime是一个c和汇编写的动态库,它就像一个小小的系统,将OC和C紧密关联,这个系统主要做了两件事情:

1、封装C语言的结构体和函数,让开发者在运行时创建、检查或者修改类、对象和方法等等。

2、传递消息,找出方法的最终执行代码。

举例,A对象调用方法goHome.

OC的实现代码:[A goHome];

C语言的实现代码: objc_msgSend(A, @selector(goHome));

runtime提供的方法

1、objc_property_t * class_copyPropertyList ( Class cls, unsigned int *outCount ); //获取属性列表

2、Method * class_copyMethohList ( Class cls, unsigned int * outCount ); //获取所有方法的数组

3、BOOL class_addMethod ( Class cls, SEL name, IMP imp, const char *types ); // 添加方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容