我有一个使用coredata
的多线程应用程序。
应用启动时,有许多cloudkit NSoperations
同时运行。
在每个操作的完成块中,我都在进行一些核心数据处理。
由于核心数据处理是通过不同的操作在后台同时进行的,因此将创建重复的管理对象。
我正在使用Coredata的背景上下文,并使用performAndWait()
方法进行核心数据处理。
我该如何解决这个问题?
我认为在后台Context上使用performAndWait()
将确保我的后台Core Data更新全部在一个线程上执行。但是仍然会创建重复的受管对象。
作为一种解决方法,我正在使用Core数据的Unique属性约束功能。但这是正确的方法吗?
答案 0 :(得分:0)
我能够解决这个问题。
正确的方法是使用Core数据背景上下文。使用performAndWait()
可以在其块内执行所有核心数据处理任务。