今天在南峰子的技术博客上,学到了
1.获取类的属性列表、
OBJC_EXPORT objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount)
成员列表
OBJC_EXPORT Ivar *class_copyIvarList(Class cls, unsigned int *outCount)
方法列表
OBJC_EXPORT Method *class_copyMethodList(Class cls, unsigned int *outCount)
协议列表
OBJC_EXPORT Protocol * __unsafe_unretained *class_copyProtocolList(Class cls, unsigned int *outCount)
2.动态创建类
OBJC_EXPORT Class objc_allocateClassPair(Class superclass, const char *name,
和并给这个类添加方法、
OOL class_addMethod(Class cls, SEL name, IMP imp,
const char *types)
添加属性
BOOL class_addProperty(Class cls, const char *name, const objc_property_attribute_t *attributes, unsigned int attributeCount)
感觉这样做,App新版本都不需要经过AppStore上架了,之前和同事聊过热更新,就是这个原理吧。
3.获取注册的类的列表 好多啊,
int objc_getClassList(Class *buffer, int bufferCount)
网友评论