OC:对一个可变数组执行删除元素的操作(删除元素不一致)


我们只要记住不要对同一个数组一边遍历,一边删除即可

  • 举例说明
   
NSMutableArray *firstArr = [NSMutableArray array];
[firstArr addObjectsFromArray:@[@"0", @"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9"]];
NSMutableArray *secondArr = [firstArr mutableCopy];
// 要删除的目标
NSArray *delete_tag = @[@"0", @"2", @"4", @"6", @"8"];
[secondArr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
   [delete_tag enumerateObjectsUsingBlock:^(id  _Nonnull tag_obj, NSUInteger idx, BOOL * _Nonnull stop) {
          if ([obj isEqualToString:tag_obj]) {
              [firstArr removeObject:obj];
          }
      }];
   }];
NSLog(@"%@\n%@", firstArr, secondArr);

你可能感兴趣的:(OC:对一个可变数组执行删除元素的操作(删除元素不一致))