我正在为一个设计问题而苦苦挣扎:我有一个NSCollectionView
包含多个项目的 an (它绑定到 an NSArrayController
,而后者又绑定到 a NSManagedObjectContext
)。我决定以编程方式为每个单个项目绘制视图,主要是因为我注意到NSView
当集合视图中有超过一定数量的项目时,在 Item View 中嵌套几个 s 会产生性能问题。
考虑以下层次结构:NSCollectionView
=> NSCollectionViewItem
-> NSView
。(由 使用的默认值NSCollectionView
)。我的自定义NSView
包含几个层,一些是CATextLayer
s,另一些是常规s,并且它们都在需要时CALayer
一起(在同一个)动画。CATransaction
这里的问题是每个CALayer
需要显示一些数据的内容,这些数据可以通过...的representedObject
属性访问NSCollectionViewItem
,它拥有NSView
!我有两个选择(可能更多,我对建议持开放态度): - 我将from
复制到 its ,并在程序执行过程中保持一致。我不是很喜欢这个。
- 我在 s 中公开s ,并在's方法中设置它们的内容/字符串。我更喜欢这个,因为其中没有保存数据(当然,通过图层显示的数据除外)。
我错了吗?有没有更优雅的解决方案?representedObject
NSCollectionViewItem
NSView
CALayer
NSView
NSCollectionViewItem
setRepresentedObject:
NSView
在此先感谢,我真的很感谢您的帮助。干杯
吉安·马可