我再次谈到我的 RSS Reader iApp,目前它的设计方式如下:
- 数据模型:
Category
->Feed
->Post
- 主视图:
Feed
按类别分组 - 详细视图:
Post
给定的 sFeed
所有视图和应用程序委托仅与相同的_mainMOC
(ManagedObjectContext)交互。
每个创建的 NSOperations 都将使用自己_localMOC
的连接到相同的 NSPersistentStoreCoordinator。
当应用程序启动时,它会为每个添加到 NSOperationQueue 的Feed
sa fetchOp
NSOperation 创建。这应该确保 RSSFeed
将被单独下载、解析,然后将它们的内容插入Post
到Post
CoreData 中。
AppDelegate 观察NSManagedObjectContextDidSaveNotifications
并合并修改如果notification
它收到不是_mainMOC
。然后它发送一个特定的 NSNotification 来通知每个视图需要一个reloadData
。
问题:
- 我还需要将我的 _mainMOC
save:
操作封装在performBlock
块中吗? - 我的每个观点都应该只使用 a
_localMOC
而不是_mainMOC
? - 让每个视图的本地 NSFetchedResultsController 在 a 之前重新执行 fetch 不是多余的
reloadData
吗? - 我是否应该让任何非只读核心数据操作成为排队的 NSOperation,即使在视图级别也是如此?
- 我怎样才能让这一切变得更顺畅(它仍然不是,我仍然有一些可怕的错误,所以重新设计是可能的)......
谢谢你的帮助。