私は現在、NSFetchedResultsControllerから生成された注釈を持つマップ ビューを持つ CoreData ベースの iPhone アプリに取り組んでいます。マップ ビューのアイデアは、ユーザーのために保存された多数の場所を表示することです。
NSFetchedResultsController を使用する利点の 1 つは、マップ ビューを NSFetchedResultsController のデリゲートとして設定し、ユーザーがログインしているときに別のデバイスまたは Web サイトで発生した、保存された場所のセットに加えられた変更の通知を受け取ることができることです。
現在、 NSFetchedResultsControllerDelegate実装に送信されるさまざまな種類の更新を処理する方法について頭を悩ませています。ドキュメント: http://developer.apple.com/library/ios/#documentation/CoreData/Reference/NSFetchedResultsControllerDelegate_Protocol/Reference/Reference.htmlは、これらのさまざまな更新をどのように処理する必要があるかを示していないようです。ほとんどの作業を行うUITableViewとの統合に向けて。
結果セット内の NSIndexPath にマップする注釈の NSDictionary を保持しています。問題は、たとえば、10 回の移動、3 回の挿入、4 回の削除の更新を受け取った場合、これらをどの順序で処理する必要があるかということです。これらの indexPaths のいくつかには競合するインデックスがいくつかあり、それらが処理される順序は、移動、挿入、または削除する必要がある実際の注釈に影響を与えます。最初にすべての移動更新を実行すると、挿入インデックスにより、最初に挿入した場合の最終順序が最終順序とは異なります。
これらの更新メッセージが与えられた場合、更新前のインデックスのセットを更新後のインデックスのセットに変換する既存の小さなライブラリ/クラスはありますか? そうでない場合は、自分で書くことができるように、この機能がどのように機能するかを誰かが説明できますか?
どんな助けでも大歓迎です!