今天在項目中遇到這樣一個問題,在一個可變數組里面怎樣刪除多個下標元素,關鍵是什么,數組arrayB里面的元素是可變動的,但是在數組arrayM下標范圍內變動,一旦刪除數組arrayM中一個下標元素,數組中的下標就會變動,再次刪除下標的時候,就不再是以前那個下標了,想了很久,也不知道咋寫,什么removeObjectAtIndex:什么removeObjectsAtIndexes都沒成功,后來問了別人,最后研究出下面的方法,能夠很好的解決同時刪除數組中多個下標對應的元素:
NSMutableArray *arrayM = [[NSMutableArray alloc] initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I", nil];
NSArray *arrayB = @[@"2",@"3",@"5"];
for (int j=0; j<arrayB.count; j++) {
NSString *aaa= [arrayB objectAtIndex:j];
int bbb=[aaa intValue]-j;
[arrayM removeObjectAtIndex:bbb];
}