aから aを更新するために、ここで提案されたソリューションをテストしています。しかし、私はいくつかの問題を抱えています。UICollectionView
NSFetcherResultsController
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
これを行う正しい方法は何ですか?