你不应该修改使用快速枚举迭代的集合,但我不确定它在多大程度上。下面的代码并没有给我带来任何问题,但我不确定这是不是我很幸运。有没有人有明确的答案?
for(NSManagedObject *myObject in myArray) {
[myObject.managedObjectContext deleteObject:myObject];
}
所以我并没有真正修改数组,但是我从上下文中删除了对象,这可能只是间接地修改了数组,但我不确定...
答案 0 :(得分:3)
只要不改变数组本身,就可以对数组中的对象执行任何操作。
该代码完全可以接受。
但是,请注意,如果要删除大量对象,则还应考虑其他事项(例如预取关系,使用自动释放池,确保MOC保持清洁等)。