美文网首页
Runtime学习

Runtime学习

作者: 空山和新雨 | 来源:发表于2018-11-05 15:16 被阅读0次

所谓runtime即运行时, 由于objectiveC语言有消息机制, 在调用方法时,会发送一条消息到指定地址,此时用runtime就可以实现很多黑魔法的操作。

这里用User类举例

@interface User : NSObject

@property (nontamic, copy) NSString *name;

@property (nontamic, copy) NSString *number;

@end

unsigned int count; 

获取类名 const char * class_getName(Class cls);

获取父类 Class class_getSuperclass(Class cls)

判断一个类是不是元类 BOOL class_isMetaClass(Class cls)  (这里稍微解释下元类, OC里实例对象的isa指向类的对象,类对象的isa指针指向元类,元类的isa指向根元类,元类包含类对象的类方法列表)

获取实例大小 size_t class_getInstanceSize (Class cls)

获取类中置顶名称实例成员变量的信息 Ivar class_getClassVariable (Class cls, const char *name)

获取类成员变量

相关文章

网友评论

      本文标题:Runtime学习

      本文链接:https://www.haomeiwen.com/subject/fwyafftx.html