初识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 ); // 添加方法

你可能感兴趣的:(初识runtime)