RSS リーダーの iApp についてもう一度考えてみます。現時点では、次のように設計されています。
- データモデル:
Category->Feed->Post - マスター ビュー:
Feedカテゴリ別にグループ化された - 詳細ビュー:
Post特定の sFeed
_mainMOCすべてのビューとアプリ デリゲートは、同じ(ManagedObjectContext)とのみ対話します。
_localMOC作成された各 NSOperations は、同じ NSPersistentStoreCoordinator に接続された独自のものを使用します。
Feedアプリが起動すると、NSOperationQueue に追加するsa fetchOpNSOperationごとに作成されます。これにより、RSSFeedが個別にダウンロードされ、解析され、そのコンテンツが CoreData に挿入Postされるようになります。Post
AppDelegate は を監視し、受け取った が でないNSManagedObjectContextDidSaveNotifications場合は変更をマージします。次に、特定の NSNotification を送信して、各ビューに必要であることを通知します。notification_mainMOCreloadData
質問:
- _mainMOC
save:操作をperformBlockブロックで囲む必要はありますか? - 私の各ビューでは、の
_localMOC代わりにのみを使用する必要があり_mainMOCますか? - 各ビューのローカル NSFetchedResultsController が fetch の前にフェッチを再実行するのは冗長ではありません
reloadDataか? - ビュー レベルであっても、非読み取り専用のコア データ操作をキューに入れられた NSOperation にする必要がありますか?
- どうすればこのすべてをよりスムーズにできますか (まだそうではなく、まだいくつかの恐ろしいバグがあるため、再設計の可能性があります)...
ご協力いただきありがとうございます。