挂在NSManagedObjectContext的保存:

出于某种原因,有时我的应用程序只会挂在下面的代码:

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

它不总是挂起,有时候。 如果我打破了所有的exception,那么Xcode将在保存调用中断,但如果我closures断点,它将永远挂起,没有崩溃或任何东西。

有任何想法吗?

挂在任何使用ManagedObjectContext是一个死锁的迹象。 使用NSLocking协议或为每个线程创build一个新的MOC并同步它们 。

另一个有用的文件从苹果 – > 核心数据并发

你有没有尝试设置NSError *错误为零?