我有几个数组试图从中清除所有对象,但是使用removeAllObjects会使应用程序崩溃并返回sigabrt。在研究过程中,我发现虽然我正在创建NSMutableArrays,但我可以创建NSArray的实例,但是我不确定是否要这样做...这是我对数组所做的一切

ballArray = [[NSMutableArray alloc] init];

ballVelocityArray = [[NSMutableArray alloc] init];

[ballArray addObject:MyUIImageView];

[ballVelocityArray addObject:[NSValue valueWithCGPoint:myCGPoint]];

[ballVelocityArray replaceObjectAtIndex:SomeIndex withObject:[NSValue valueWithCGPoint:NewVelocity]];

[ballArray removeAllObjects];

[ballVelocityArray removeAllObjects];

那就是我所做的一切,我不知道为什么它会继续崩溃……如果数组中只有一个对象,它会正常工作,否则会崩溃

任何帮助将不胜感激!!

最佳答案

这很可能是因为您没有正确管理数组包含的对象之一上的内存。当您从数组中删除对象时,其保留计数将减少一次。

您可以在清除数组的行上放置一个断点,然后使用调试器查看其中的哪个对象无效。

10-06 00:51