线程化核心数据和 UINavigationController

Posted

技术标签:

【中文标题】线程化核心数据和 UINavigationController【英文标题】:Threaded Core Data & UINavigationController 【发布时间】:2010-12-18 08:34:44 【问题描述】:

我有一个在后台使用 Core Data 的应用。每次我推送一些视图控制器时,都会启动从服务器加载数据并将其填充到核心数据的后台线程。 每个视图控制器都使用 NSFetchedResultsController 进行实时表更新。

问题是,当我推送一些视图控制器并从中再次推送其他视图控制器时(在后台加载数据时),当来自先前视图控制器的 nsfetchedresultscontroller 尝试更新表时,我崩溃了。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

您是否跨线程使用相同的 ManagedObjectContext?这是非常不受支持的。

Here's a good run-through 使用多线程的 Core Data。基本上,每个线程一个 MOC,使用相同的 StoreCoordinator,通过通知保持彼此同步。

【讨论】:

以上是关于线程化核心数据和 UINavigationController的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中通过线程/核心/节点并行化 for 循环

核心数据多线程——我做错了啥

二期 0005 线程池原理剖析&锁的深度化

java多线程编程核心技术怎么样

性能测试系列JMeter核心技术:分布式压测和参数化

我们可以在AppDelegate中实例化核心数据的单个对象并在整个应用程序中使用它吗?