在NSMutableArray中减少

时间:2013-09-28 17:19:13

标签: ios objective-c memory-management nsmutablearray warnings

我正在实现一个使用'NSMutableArray'的应用程序。我添加了一些对象。 但我在“记忆管理”中发现了警告。事实上,我做了:

for (int s = 0; s < aNumber ; s++)
{
    [[ArrayOfViews objectAtIndex:s] release];
}

但它给了我:

“调用者此时不拥有的对象的引用计数的不正确减少”

经过一些研究,我发现了一些像add:

这样的东西
myObject = nil;

但在这里,当我这样做时:

for (int s = 0; s < aNumber; s++)
{
    [[ArrayOfViews objectAtIndex:s] release];
    [ArrayOfViews objectAtIndex:s] = nil;
}

它给了我另一个'警告':

“分配给'readonly'不允许使用objective-c消息的返回结果”

我怎么能解决这种情况呢?

谢谢!

1 个答案:

答案 0 :(得分:2)

您遇到的第一个错误是因为您尝试释放该阵列所拥有的对象。 NSMutableArray对象是只读的,不能简单地分配,这就是你得到第二个错误的原因。要将对象插入数组,请使用addObject:

您要做的是致电[ArrayOfViews removeAllObjects]