【发布时间】:2012-02-27 10:22:08
【问题描述】:
我对两种迭代方式有一些问题。
NSArray *array=[[NSArray alloc] initWithObjects:@"A",@"B",@"C",@"D",nil];
NSMutableArray *mutArray=[[NSMutableArray alloc] initWithArray:array];
当我这样做时,它工作正常
for (int i=0;[mutArray count]!=0;) {
[mutArray removeObjectAtIndex:i];
}
NSLog(@"%d,",[mutArray count]);
但是当我这样做的时候,它就崩溃了……为什么?
for(id obj in mutArray)
{
[mutArray removeObject:obj]
}
NSLog(@"%d,",[mutArray count]);
请给我第二种情况的解决方案。
【问题讨论】:
-
嘿,看看这篇文章:stackoverflow.com/questions/5826336/… - 为什么你不能使用快速 for 循环从数组中删除项目。
-
@joerick 的答案很准确,但仅供参考:
[mutArray removeAllObjects];;)