我有很多名为_Obj_1
,_Obj_2
等的对象......
我想释放所有。
我正在使用KVC。特别要释放所有,我使用:
MyClass *obj = nil;
for ( int i=1 ; i<=14; i++ ) {
obj = [self valueForKeyPath:[NSString stringWithFormat:@"_Obj_%d", i]];
[obj release];
}
clang analyzer告诉我[obj release];
对象的引用计数的不正确减少 此时由来电者拥有?
我该如何解决?
它不是ARC项目。
答案 0 :(得分:2)
这很容易修复
如果您不拥有该对象(您没有调用保留),请不要将其释放!
使用数组来保存对象,而不是使用大量具有相同名称的变量。然后释放只会释放一个数组。