美文网首页
关于一些常见报错的处理

关于一些常见报错的处理

作者: dequal | 来源:发表于2018-09-12 17:41 被阅读0次

    1.数据遍历

    was mutated while being enumerated.

    当程序出现这个提示的时候,是因为你一边遍历数组,又同时修改这个数组里面的内容,导致崩溃.

    这里介绍一种解决方案:

    NSMutableArray * arrayTemp = xxx;
    NSArray * array = [NSArray arrayWithArray: arrayTemp];
    for (NSDictionary * dic in array) {
       if (condition){
          [arrayTemp removeObject:dic];
       }
    }
    
    这种方法就是在定义一个一模一样的数组,便利数组A然后操作数组B.

    这里顺便介绍一种更快接的删除数组里面的内容以及修改数组里面的内容的方法:

        [Array enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
    
        }];
    

    利用block来操作,block便利比for便利快20%左右,这个的原理是这样的:

    找到符合的条件之后,暂停遍历,然后修改数组的内容.

    2.

    相关文章

      网友评论

          本文标题:关于一些常见报错的处理

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