• 异常Crash之 NSGenericException,NSArray was mutated while being enumerated


      *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x17542520> was mutated while being enumerated.'

      从字面上不难理解,Crash的原因在于我们一边遍历数组,一边修改该数组数据。例如:
          NSMutableArray *OriginalArray = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"3",@"4",nil];
      for (id obj in OriginalArray){
        if ([obj isEqualToString:@"3"]){
          [OriginalArray removeObject:obj]
        }
      }

          很自然我们会想到copy一个数组,在副本数组中进行遍历操作,如果符合条件我们就在原始数组中进行处理。
          NSMutableArray *DuplicateArray = [OriginalArray mutableCopy];
          for(id obj in DuplicateArray){
        if ([obj isEqualToString:@"3"]){
          [OriginalArray removeObject:obj];
        }
      }

  • 相关阅读:
    C#匿名类型
    C#中实例Singleton
    Unity Pitfall 汇总
    Unity快捷键
    System.Object
    ExecuteInEditMode
    preview放大镜
    判断当前Selection是否为prefab
    AddComponentMenu
    MenuItem属性
  • 原文地址:https://www.cnblogs.com/howcoldtohowtocode/p/4159398.html
Copyright © 2020-2023  润新知