forを実行して、削除するオブジェクトを選択します。1つを削除した後、アプリがクラッシュします。インデックスが原因でfor内のオブジェクトを削除できなかったため、外部でオブジェクトを削除しましたが、それでもクラッシュすることを読みました。実行時にクラッシュすると、アレイはNSArrayであり、そうではなく、NSMutablearrayであると表示されます。なぜこれが起こっているのか誰もが知っていますか?
コードは次のとおりです。
NSMutableArray *discardedItems = [NSMutableArray array];
NSInteger catalogo = [[tmpDic objectForKey:@"catalogo"] intValue];
NSInteger documento = [[tmpDic objectForKey:@"documento"] intValue];
for (i=0; i<[self.deletedDocuments count] ; i++)
{
if ([[[self.deletedDocuments objectAtIndex:i] objectForKey:@"documento"] intValue] == documento &&
[[[self.deletedDocuments objectAtIndex:i] objectForKey:@"catalogo"] intValue] == catalogo)
[discardedItems addObject:[self.deletedDocuments objectAtIndex:i]];
}
NSLog(@"Dictionary\n%@", self.deletedDocuments);
if (discardedItems != nil)
[self.deletedDocuments removeObjectsInArray:discardedItems];