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

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

enumerateObjectsUsingBlock

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

for(NSObject *obj  in array){

这种方式去遍历数组了!

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

for(int I =0;i<array.count;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];

          }

  }];

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容