私は2つの反復方法にいくつか問題があります。Objective Cの2つの反復方法の違いは?
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]);
解決策を教えてください。
ねえ、この投稿をチェックしてください:http://stackoverflow.com/questions/5826336/remove-items-in-a-for-loop-without-side-effects-なぜあなたは配列から項目を削除できません高速forループを使用します。 –
@ joerickさんの答えはちょうど参考になりますが、FYI thisは存在します: '[mutArray removeAllObjects];';) – deanWombourne