4

aから aを更新するために、ここで提案されたソリューションをテストしています。しかし、私はいくつかの問題を抱えています。UICollectionViewNSFetcherResultsController

MyUICollectionViewは、フォルダとドキュメントの階層 (名前でソート) を表示します。ドキュメントをタップして開き、フォルダをタップすると、新しいコントローラがUICollectionView(ドリルダウン) でプッシュされます。

ユーザーは、ドキュメントとフォルダーをコピー/カット/ペーストできます。

問題の例:

Root
|
---"B"
    |---"A"

「A」から「B」をルートにコピーすると、「A」がルートに挿入され、「B」が更新されます (elmentsCount--)。問題は、「B」が挿入用のアニメーションを取得しており、「A」が更新用のアニメーションを取得していることです。

バッチ更新を実行するために使用しているブロック内に 2 つのログ メッセージを入れました。

case NSFetchedResultsChangeInsert:
    NSLog(@"INSERTING at pos : %d", ((NSIndexPath *)obj).item);
    [self.libraryCollectionBrowser insertItemsAtIndexPaths:@[obj]];
    break;
 case NSFetchedResultsChangeUpdate:
    NSLog(@"UPDATING at pos : %d", ((NSIndexPath *)obj).item);
    [self.libraryCollectionBrowser reloadItemsAtIndexPaths:@[obj]];
    break;

ログは次のとおりです。

INSERTING at pos : 0
UPDATING at pos : 0

これを行う正しい方法は何ですか?

4

0 に答える 0