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:@"@"];
网友评论