为什么无限循环:while([managedObjectContext hasChanges])[managedObjectContext processPendingChanges]

时间:2013-06-08 07:53:36

标签: cocoa core-data nsmanagedobjectcontext

以下while语句是否应该在最多执行一次后退出?

while ( [self.managedObjectContext hasChanges] )
    [self.managedObjectContext processPendingChanges];

1 个答案:

答案 0 :(得分:0)

hasChanges保持为真,而上下文中的更改尚未刷新到磁盘。您正在寻找的是save:,除了将上下文中的更改写入磁盘并更改上下文的更改状态之外,它还将调用processPendingChanges