我有这个Mutable Array:
NSMutableArray *points = [pgroute getPoints:self];
其中[getPoint...]
执行此操作:
{
NSMutableArray *normPoints = [[NSMutableArray alloc] init];
[normPoints addObject:@""];
[...]
return normPoints;
}
现在,
点是一个对象数组,对吗?
以这种方式释放* points数组是否正确?
for (int i = 0; i < [points count]; i++) {
[(NSString *)[points objectAtIndex:i] release];
}
[points release];
还是另一种正确的方法?
Xcode编译器,RUN_CLANG_STATIC_ANALYZER
告诉我有一个
引用的减少不正确 不拥有的对象的计数 此时由来电者
我该如何解决这个问题?
感谢,
阿尔贝托。
答案 0 :(得分:2)
如果要清空数组,只需执行以下操作:
[points removeAllObjects];
如果你想发布数组,你甚至可以跳过它并立即发布它:
[points release];
数组将自己处理释放对象。如果你只是将NSString
文字(@"using this notation"
)添加到数组中,那么它们不需要被释放,因为它们是常量。那当然是一个不同的故事;我的观点是,NSMutableArray
将处理在必要时发布的内容。