0

我再次谈到我的 RSS Reader iApp,目前它的设计方式如下:

  • 数据模型:Category-> Feed->Post
  • 主视图:Feed按类别分组
  • 详细视图:Post给定的 sFeed

所有视图和应用程序委托仅与相同的_mainMOC(ManagedObjectContext)交互。

每个创建的 NSOperations 都将使用自己_localMOC的连接到相同的 NSPersistentStoreCoordinator。

当应用程序启动时,它会为每个添加到 NSOperationQueue 的Feedsa fetchOpNSOperation 创建。这应该确保 RSSFeed将被单独下载、解析,然后将它们的内容插入PostPostCoreData 中。

AppDelegate 观察NSManagedObjectContextDidSaveNotifications并合并修改如果notification它收到不是_mainMOC。然后它发送一个特定的 NSNotification 来通知每个视图需要一个reloadData

问题:

  • 我还需要将我的 _mainMOCsave:操作封装在performBlock块中吗?
  • 我的每个观点都应该只使用 a_localMOC而不是_mainMOC?
  • 让每个视图的本地 NSFetchedResultsController 在 a 之前重新执行 fetch 不是多余的reloadData吗?
  • 我是否应该让任何非只读核心数据操作成为排队的 NSOperation,即使在视图级别也是如此?
  • 我怎样才能让这一切变得更顺畅(它仍然不是,我仍然有一些可怕的错误,所以重新设计是可能的)......

谢谢你的帮助。

4

1 回答 1

0

1) & 2) 看来这些不是绝对必需的:毕竟我们在主线程中。

3) 这不会有什么坏处:特别是如果 NSFecthedResultsController 使用变量 NSPredicate (请参见此处)。

4)无论如何我都会这样做,因为它没有伤害。

5) 保持联系...

于 2013-10-29T14:03:11.413 回答