objective-c - 将 NSView 实例保存在数组中

标签 objective-c cocoa nsarray nstableview nsview

是否可以将 NSView 对象存储在可变数组中?据我了解, View 将是一个对象,因此数组应该能够容纳它。具体来说,我想保存 nib 文件的多个实例,我认为这些实例将使用 NSNib init 加载,然后将Object 添加到数组中。

这个想法是在 TableView 中的每一列的每一行中显示一个 NSView。我认为这是可以做到的,因为 iTunes 在 ListView 中显示专辑插图时做了类似的事情(我认为是 NSImage)。

不过,任何有关该主题的知识(或示例或教程的链接)都将非常感激。

最佳答案

TableView 通常不会为每个项目保存一个 NSView。它们拥有许多 NSViewTableCell(从系统角度来说,它们比 NSView 轻量得多),并且它们重复使用这些单元。它们通常没有比显示 TableView 可见部分所需的更多单元格,据我所知,当 View 滚动时,已变得“不可见”的单元格将被重新使用。

因此,最好的方法是对单元格进行子类化,并使 TableView 使用这些内容显示内容。对 MP3 专辑列表中的每个条目使用 NSView 的成本将非常昂贵。

关于objective-c - 将 NSView 实例保存在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6936835/

相关文章:

ios - Objective-C日历网格

iOS - 无法更改 View 原点

objective-c - NSKeyedArchiver 不保存对象的所有属性

ios - NSArray 包含对象 : faster alternative?

iphone - 特定索引后升序

ios - 如何在不影响之前 View 的情况下更改 UINavigationBar 标题的名称?

iphone - 在将其上传到应用商店之前获取 iTunes 链接的 ID

macos - 如何使用 Facebook Pop 制作图层仿射变换动画?

objective-c - 当文件位于外部设备时检查文件是否存在

ios - 将 block 中异步接收的 JSON 对象传递给实例变量 - 在 iOS6 上使用 AFNetworking