Core data IOS核心数据并发问题
我再次谈到我的RSS阅读器iApp,目前它的设计方式如下:Core data IOS核心数据并发问题,core-data,concurrency,nsoperation,master-detail,Core Data,Concurrency,Nsoperation,Master Detail,我再次谈到我的RSS阅读器iApp,目前它的设计方式如下: 数据模型:Category->Feed->Post 主视图:Feeds按类别分组 详细视图:Posts用于给定的Feed 所有视图和应用程序委托仅与相同的\u mainMOC(ManagedObjectContext)交互 每个创建的NSO操作都将使用自己的\u localMOC,该操作连接到同一个NSPersistentStoreCoordinator 当应用程序启动时,它为每个Feeds创建一个fetchOpNSOperatio
- 数据模型:
->Category
->Feed
Post
- 主视图:
s按类别分组Feed
- 详细视图:
s用于给定的Post
Feed
\u mainMOC
(ManagedObjectContext)交互
每个创建的NSO操作都将使用自己的\u localMOC
,该操作连接到同一个NSPersistentStoreCoordinator
当应用程序启动时,它为每个Feed
s创建一个fetchOp
NSOperation,并将其添加到NSOperationQueue中。这应确保RSSFeed
s将被单独下载、解析,然后由CoreData中的Post
插入其内容
AppDelegate观察NSManagedObjectContextDidSaveNotifications
,并在收到的通知
不是\u mainMOC
时合并修改。然后,它发送一个特定的NSNotification,通知每个视图需要重新加载数据
问题:
- 我是否仍需要将我的_mainMOC
操作包含在save:
块中performBlock
- 我的每个视图是否应该只使用
而不是\u localMOC
\u mainMOC
- 在
重新加载数据之前,让每个视图的本地NSFetchedResultsController重新执行一次提取不是多余的吗
- 我是否应该将任何非只读核心数据操作设置为排队操作,即使是在视图级别
- 我怎样才能让这一切变得更顺利(现在还不是,我还有一些可怕的错误,所以重新设计是可能的)