使用快速枚举删除NSManagedObject是否安全?

时间:2012-09-02 21:00:03

标签: ios core-data fast-enumeration

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

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

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

1 个答案:

答案 0 :(得分:3)

只要不改变数组本身,就可以对数组中的对象执行任何操作。

该代码完全可以接受。

但是,请注意,如果要删除大量对象,则还应考虑其他事项(例如预取关系,使用自动释放池,确保MOC保持清洁等)。