was mutated while being enumerated.'

写了一段这样的代码:

for (ShopCartModel *model in weakSelf.dataArray) {
      for (NSString *id_ in ids) {
               if ([[NSString stringWithFormat:@"%@",model.id_] isEqualToString:[NSString stringWithFormat:@"%@",id_]]) {
                   [weakSelf.dataArray removeObject:model];
                }
       }
}

抛出异常: was mutated while being enumerated.'

解决方法(对数组进行备份):

NSArray *array = [NSArray arrayWithArray:weakSelf.dataArray];

for (ShopCartModel *model in array) {
     for (NSString *id_ in ids) {
          if ([[NSString stringWithFormat:@"%@",model.id_] isEqualToString:[NSString stringWithFormat:@"%@",id_]]) {
                    [weakSelf.dataArray removeObject:model];
            }
      }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容