我有几个数组试图从中清除所有对象,但是使用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];
那就是我所做的一切,我不知道为什么它会继续崩溃……如果数组中只有一个对象,它会正常工作,否则会崩溃
任何帮助将不胜感激!!
最佳答案
这很可能是因为您没有正确管理数组包含的对象之一上的内存。当您从数组中删除对象时,其保留计数将减少一次。
您可以在清除数组的行上放置一个断点,然后使用调试器查看其中的哪个对象无效。