不能在数组循环中删除元素,以下写法是不安全的。
for(id objinself.chatArray){
if ([obj isKindOfClass:[EmailInfoclass]]) {
[self.chatArray removeObject:obj];
}
}
正确的写法如下
NSMutableArray *removeArray = [[NSMutableArrayalloc]init];
for(id objin self.chatArray){
if ([objisKindOfClass:[EmailInfoclass]]) {
[removeArrayaddObject:obj];
}
}
for(id objin removeArray){
[chatArray removeObject:obj];
}
[removeArrayrelease];
本文介绍了一种在遍历数组过程中安全删除元素的方法。避免直接在循环中修改原数组导致的迭代错误,通过创建临时数组来记录待删除项,再进行移除操作。
4278

被折叠的 条评论
为什么被折叠?



