我再次谈到我的RSS阅读器iApp,目前,其设计方式如下:
Category
- > Feed
- > Post
Feed
按类别分组Post
用于给定的Feed
所有视图和app委托只与相同的_mainMOC
(ManagedObjectContext)进行交互。
每个创建的NSOperations将使用自己的_localMOC
,它与同一个NSPersistentStoreCoordinator连接。
当应用程序启动时,它会为每个Feed
创建一个fetchOp
NSOperation,并将其添加到NSOperationQueue中。这应该确保RSS Feed
将被单独下载,解析,然后在CoreData中通过Post
将其内容Post
插入。
AppDelegate会观察NSManagedObjectContextDidSaveNotifications
并在其收到的notification
不是_mainMOC
时合并修改。然后,它会发送特定的NSNotification,以通知每个视图需要reloadData
。
问题:
save:
块中的_mainMOC performBlock
操作括起来?_localMOC
而不是_mainMOC
?reloadData
之前重新执行提取不是多余的吗?感谢您的帮助。
答案 0 :(得分:0)
1)& 2)看起来并不是绝对必要的:毕竟我们是主线。
3)这不会造成伤害:特别是如果NSFecthedResultsController使用变量NSPredicate(参见here)。
4)无论如何我都会这样做,因为它没有受到伤害。
5)保持联系......