私はデザインの問題に苦しんでいます:私NSCollectionView
はいくつかのアイテムを含むを持っています(それNSArrayController
はにバインドされ、次ににバインドされますNSManagedObjectContext
)。NSView
主に、コレクションビューに特定の数を超えるアイテムがある場合、アイテムビュー内に複数のアイテムをネストするとパフォーマンスの問題が発生することに気付いたため、プログラムで各アイテムのビューを描画することにしました。
次の階層を検討してください:NSCollectionView
=> NSCollectionViewItem
-> NSView
。(によって使用されるデフォルトのものNSCollectionView
)。私のカスタムNSView
にはいくつかのレイヤーが含まれています。いくつかはCATextLayer
sで、他は通常CALayer
のsであり、必要なときにすべて一緒に(同じ内でCATransaction
)アニメーション化します。ここでの問題は、それぞれがCALayer
!を所有する...のrepresentedObject
プロパティを介してアクセスできるデータのコンテンツを表示する必要があります。私には2つのオプションがあります(おそらくもっとたくさん、私は提案を受け入れる以上のものです): -から
をに複製し、プログラムの実行を通して一貫性を保ちます。私はこれが本当に好きではありません。-のs
を公開し、のメソッド内からコンテンツ/文字列を設定します。(もちろん、レイヤーを通して表示されているものを除いて)に保存されたデータがないので、私はこれがより好きです。
私が間違っている?よりエレガントな解決策はありますか?NSCollectionViewItem
NSView
representedObject
NSCollectionViewItem
NSView
CALayer
NSView
NSCollectionViewItem
setRepresentedObject:
NSView
よろしくお願いします。乾杯
ジャン・マルコ