0

我正在实现一个使用“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;
}

它给了我另一个“警告”:

“不允许分配给目标 c 消息的‘只读’返回结果”

请问我该如何解决这种情况?

谢谢 !

4

1 回答 1

2

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

你想做的是打电话[ArrayOfViews removeAllObjects]

于 2013-09-28T17:30:05.170 回答