- (NSMutableArray *)getArrayValue:(NSArray *)array{
NSMutableArray *valueArray = [NSMutableArray array]; //value数组
for (NSObject *object in array) {
unsigned int numberofIvars = 0;
Ivar* ivars = class_copyIvarList([object class], &numberofIvars);
NSMutableArray *objectArray = [NSMutableArray array];
for(const Ivar* p = ivars; p< ivars+numberofIvars;p++){
Ivar const ivar = *p ;
NSString* key = [NSString stringWithUTF8String:ivar_getName(ivar)];
NSString *value = [object valueForKey:key];
[objectArray addObject:value];
}
[valueArray addObject:objectArray];
}
return valueArray;
}
我在使用此方法时发生内存泄漏。
我该怎么办?
最佳答案
free(ivars);
return valueArray;
}
根据文档:“您必须使用 free() 释放数组”
关于ios - class_copyIvarList 泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20566490/