NSCollectionViewにプロトタイプアイテムのグリッドが表示されます。これは、Core Data、Interface Bindings、NSValueTransformerで処理され、実際の画像がない場合はNSCollectionViewItem内にプレースホルダ画像が表示されます。NSCollectionView ManagedObjectを削除するとNSValueTransformerで問題が発生する
NSCollectionViewからアイテムを削除したい場合、コレクションビューから削除しますが、ビューから消える直前のマイナス2秒間、プレースホルダイメージ(NSValueTransformerサブクラスからトリガ)を点滅させます。
MOCのオブジェクトが削除されたことを検出したときに実行中のNSValueTransformerを停止する方法が見つかりません。なぜそれは動いているのですか?
Iが取る手順は、次のとおり
for (MyEntityClass * obj in [myArrayController selectedObjects]) {
[myArrayController removeObject: obj]; // This on its own works fine.
[managedObjectContext deleteObject: obj]; // This causes a flash
}
私は(arrayControllerから削除せず)MOCからオブジェクトを削除する場合は、マイクロ秒のプレースホルダ画像を点滅。
MOCオブジェクトの削除を停止して、ビューからNSValueTransformerを削除する前にCollectionViewにNSValueTransformerを実行させないようにする方法はありますか?
ArrayController removeObjectとアイコンの点滅を修正するMOC deleteObjectの間に遅延を追加しようとしましたが、ユーザが一度に項目のグループを削除するとコアデータフィールドにエラーが発生することはありません。
オブジェクトをコレクションビューから削除する直前にプレースホルダイメージを点滅させないようにするためのアイデアはありますか?