我想得到一些建议,使我的项目中的核心数据操作并发。我的项目自两年以来一直运行,因此它有许多实现可以根据objectiveC
中新功能的可用性进行优化。主要是,我正在寻找优化CoreData
操作。核心数据并发性
目前大部分的数据操作都是使用主管理对象上下文完成的。最近,我实现了一项新功能,可以在登录后使用核心数据下载大量数据并插入数据库。这应该与应用程序中的其他操作并行执行。现在我意识到为核心数据编写的代码正在主线程中执行,因为应用程序的UI在coredata
操作期间被阻塞。因此,我提到了许多博客,并且知道有两种策略可以实现核心数据并发性,即借助多个上下文和父/子托管对象上下文进行通知。
我试过父母/孩子的策略,因为苹果不喜欢其他策略。但我在executeFetchRequest
上遇到了随机崩溃,例外情况是“Collection在枚举时发生了变化”。在实施父/子策略之后,这种异常开始发生。任何人都可以帮我解决这个问题吗?