当我们用for in遍历数组时,程序会Crash
原因:在遍历时,数组不允许被修改
解决办法:
1.使用for循环遍历,也是最基础的遍历,这种算法是遍历整个数组,然后定位要删除的元素
2.如果要使用for in遍历,需要定义一个新的数组(复制原数组)NSMutableArray *copyArray = [NSMutableArray arrayWithArray:array]; 在遍历新数组时,对原数组进行修改。
3.对数组进行逆序遍历
NSEnumerator *enumerator = [_contactsArr reverseObjectEnumerator];
for (NSString *item in enumerator) {
if ([item isEqualToString:@"remove"]) {
[_contactsArr removeObject:item];
}
}