美文网首页
使用for..in..遍历可变数组的错误:was mutated

使用for..in..遍历可变数组的错误:was mutated

作者: 4ed6afef78f9 | 来源:发表于2018-02-01 15:58 被阅读14次

    /**
    使用for..in..快速枚举可变数组,然后再枚举过程中增删改可变数组中的内容时,
    会报错“was mutated while being enumerated”
    解决办法就是下面这样,复制一个同样的临时数组,快速枚举临时数组,
    然后再枚举临时数组的时候,增删改原始数组中的内容,这样就不会崩溃报错了
    */

    NSMutableArray *tmpMutableArray = [self.subDeviceArray mutableCopy];
     if (tmpMutableArray.count > 0) {
         for (GizWifiDevice *device in tmpMutableArray) {
             if (device.sharingRole == 1 || device.sharingRole == 2) {
                 [self.subDeviceArray removeObject:device];
             }
          }
      }
    

    相关文章

      网友评论

          本文标题:使用for..in..遍历可变数组的错误:was mutated

          本文链接:https://www.haomeiwen.com/subject/jgidzxtx.html