Objective c NSCell中有多个UI元素的NSTableView(如传输)

Objective c NSCell中有多个UI元素的NSTableView(如传输),objective-c,cocoa,nstableview,nscell,Objective C,Cocoa,Nstableview,Nscell,如何制作一个包含多个UI元素的NSCell,并将其显示在NSTableView中?对于使用单个值的NSCells,我可以实现tableView:objectValueForTableColumn:row:,但我不知道如何使用多个值来实现NSCells。目前,我在NSCollectionView中有一个NSView,所有元素都绑定到NSArrayController。但我更希望有一个NSTableView或类似的视图。我已经在Mac应用程序中切换到JAListView查看表格和大纲视图: 它的优点

如何制作一个包含多个UI元素的
NSCell
,并将其显示在
NSTableView
中?对于使用单个值的
NSCells
,我可以实现
tableView:objectValueForTableColumn:row:
,但我不知道如何使用多个值来实现
NSCells
。目前,我在
NSCollectionView
中有一个
NSView
,所有元素都绑定到
NSArrayController
。但我更希望有一个
NSTableView
或类似的视图。

我已经在Mac应用程序中切换到JAListView查看表格和大纲视图:

它的优点是将NSViews用于表项而不是NSCELL,从而在实现设计时允许更大的自由度

还有其他一些替代方案试图解决NSTableView及其子类中的类似漏洞:

我已切换到JAListView查看Mac应用程序中的表格和大纲视图:

它的优点是将NSViews用于表项而不是NSCELL,从而在实现设计时允许更大的自由度

还有其他一些替代方案试图解决NSTableView及其子类中的类似漏洞:

您可以在
tableView:objectValueForTableColumn:row:
方法中返回主值,然后在
tableView:willDisplayCell:forTableColumn:row:
中进一步设置单元格


或者,您可以创建一个自定义的
NSCell
子类,该子类可以根据您提供的
objectValue
对自身进行自定义。

您可以在
tableView:objectValueForTableColumn:row:
方法中返回主值,然后在
tableView:willDisplayCell:forTableColumn:row:
中进一步设置单元格


要么这样,要么你创建一个自定义的
NSCell
子类,它可以根据你给它的
objectValue
自定义自己。

如果我使用最后一个选项,我需要为NSCell的
objectValue
子类还是只为它的
setObjectValue:
子类?不管怎样,这是一个愚蠢的问题。当然不必。如果我使用最后一个选项,我需要对NSCell的
objectValue
进行子类化,还是只对其
setObjectValue:
进行子类化?没关系,这是个愚蠢的问题。我当然不必。