にNSTableView
バインドされている がありNSArrayController
ます。のプロパティは にバインドされていNSArrayController
ます。すべてがうまく機能します。contentSet
NSMutableSet
NSTableView
ここで、組み込みのアニメーションを使用して行を削除したいと考えています。私はこれを行うことができ- [NSTableView removeRowsAtIndexes:withAnimation:]
、行はすぐにアニメーション化されますが、テーブルビューから削除したオブジェクトは、テーブルNSMutableSet
ビューをバッキングしている にまだぶら下がっています。明らかに私はそれを取り除く必要があります。NSArrayController
のメソッドでオブジェクトを削除しようとするとremoveObject:
、オブジェクトがテーブルビューからすぐに消えます。つまり、アニメーションが発生しないか、途中で途切れます。
バインディングは驚くほど機能し、物事を非常に簡単にしますが、バインディングとNSTableView
アニメーションの両方が使用されている場合、データ ソースとテーブルビューの同期を維持するための適切な方法は正確には何でしょうか? NSTableView
答えは、アニメーションを使用して境界に行を追加する方法にも対処する必要があります。