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