我发现低于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];
}
}];