0

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

質問:

  • _mainMOCsave:操作をperformBlockブロックで囲む必要はありますか?
  • 私の各ビューでは、の_localMOC代わりにのみを使用する必要があり_mainMOCますか?
  • 各ビューのローカル NSFetchedResultsController が fetch の前にフェッチを再実行するのは冗長ではありませんreloadDataか?
  • ビュー レベルであっても、非読み取り専用のコア データ操作をキューに入れられた NSOperation にする必要がありますか?
  • どうすればこのすべてをよりスムーズにできますか (まだそうではなく、まだいくつかの恐ろしいバグがあるため、再設計の可能性があります)...

ご協力いただきありがとうございます。

4

1 に答える 1

0

1) & 2) これらが絶対に必要なわけではないようです: 結局のところ、私たちはメイン スレッドにいます。

3) これは問題ありません: 特に NSFectedResultsController が変数 NSPredicate を使用している場合 (こちらを参照)。

4) 痛くないのでとにかくやります。

5) 連絡を取り合う...

于 2013-10-29T14:03:11.413 に答える