挂起NSManagedObjectContext的保存:

edc*_*591 9 iphone cocoa-touch core-data objective-c ios

出于某种原因,有时我的应用程序将挂起以下代码:

NSError *error;
if (![self.managedObjectContext save:&error]) {
     NSLog(@"Couldn't save: %@", [error localizedDescription]);
}
Run Code Online (Sandbox Code Playgroud)

它有时并不总是挂起.如果我打破了所有异常,那么Xcode将在保存调用中中断,但如果我关闭断点,它将永远挂起,不会崩溃或任何事情.

有任何想法吗?

Pio*_*zia 6

挂在任何使用的东西ManagedObjectContext是僵局的迹象.使用NSLocking协议MOC为每个线程创建一个新的并同步它们.

Apple的另一个有用的文档 - > 与核心数据的并发