3

您不应该通过快速枚举来修改正在迭代的集合,但我不确定这在多大程度上。下面的代码没有给我带来任何问题,但我不确定是不是我很幸运。有人有明确的答案吗?

for(NSManagedObject *myObject in myArray) {
   [myObject.managedObjectContext deleteObject:myObject];
}

所以我并没有真正修改数组,而是从上下文中删除对象,这可能只是间接修改数组,但我不确定。

4

1 回答 1

3

你可以对数组中的对象做任何你想做的事情,只要你不改变数组本身。

该代码是完全可以接受的。

但是请注意,如果您有很多要删除的对象,您还应该考虑其他事情(例如预取关系、使用自动释放池、确保您的 MOC 保持清洁等)

于 2012-09-02T21:04:25.487 回答