ios 数组同时读、写的冲突导致崩溃问题

我发现低于ios10的系统:数组执行

enumerateObjectsUsingBlock

方法很容易崩溃,所以建议某个数组同时有读、写操作时别用上面这个函数或者别用 

for(NSObject *obj  in array){

这种方式去遍历数组了!

改成咋们常见的甚至说最土的方式写

for(int I =0;i

}

这样至少程序不会崩溃!

所以有时候高级的写法不见得程序健壮!这个都怪苹果哦!为啥ios10以上没有崩溃?我也无法解释!或许他们后续对系统做了优化,避免了类似bug。

希望对大家有帮助!

同时读写数组时别用如下代码

[self.downingArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

    if ([[obj objectForKey:@"playurl"] isEqualToString:model.playurl]) {

         [self.downingArray removeObject:obj];

          }

  }];

你可能感兴趣的:(ios 数组同时读、写的冲突导致崩溃问题)