【发布时间】:2009-10-31 20:13:52
【问题描述】:
我正在尝试决定开发我的 Snow Leopard 应用程序的路径。首先,我应该先介绍明显的区别:
NSTableView 可以有多个数据列,用于表示同一数据“元素”(一行)的不同部分,其中NSCollectionView 也可以显示数据网格,但每行+列组合都是自己的元素。出于我的目的,假设我正在处理一个列。
-
据我所知,
NSCollectionView项目是NSViews,它们的尺寸必须相同。另外,与NSTableView不同,collectionview 项目被复制到NSCollectionView,而不是根据需要由dataSource提供(我对此不确定,如果我错了,请纠正我)。 如果您决定自定义行的显示,
NSTableView将使用NSCells。由于NSCell不是NSResponder,如何处理事件(如果我想为单元添加某种附件,例如 iTunes 中的箭头如何工作(尽管 iTunes 是 Carbon)。我见过IB 中的一些NSCell子类似乎与它们的NSControl兄弟等价,但是如果我想在NSCell中包含MySweetView对象怎么办?)。在 Bindings 方面似乎两者的工作方式大致相同,对吗?
最后,
NSCollectionView似乎可以很好地处理其元素的动画(例如用于重新排列项目或过滤它们)。NSTableView可以对其行执行此操作吗?
还有什么我应该考虑的吗?
【问题讨论】:
标签: cocoa cocoa-bindings nstableview nscollectionview