利用Runtime 字典转模型

OBJC_EXPORT Ivar *class_copyIvarList(Class cls, unsigned int *outCount);

获取实例的所有存储属性。

OBJC_EXPORT const char *ivar_getName(Ivar v)

获取某个属性的实例变量名称(_name)。

OBJC_EXPORT const char *ivar_getTypeEncoding(Ivar v)

获取某个属性的实例变量的类名称。

NSString *type = [NSString stringWithUTF8String:ivar_getTypeEncoding(ivar)];
// 如果属性是对象类型,OC的dic,array,string都是引用类型,不是值类型,所以有@符号。
NSRange range = [type rangeOfString:@"@"];

demo地址

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

推荐阅读更多精彩内容