0
我有一个基于视图的NSTableView(使用图像& Text CellView)。我是否需要继承图像和文本NSTableCellView以添加标签?
根据dataSource中的dataItems,我选择一个适当的CellView来显示它们。
其中一个模板上有一个额外的(默认的CellView)标签。但是当我实例化CellView时(我需要设置标签的值),我不知道访问它的正确方式是什么。
我的问题基本上是 - 我应该搜索子视图(如下面的代码片段)或者我应该继承CellView,添加一个属性等?
NSArray* subviews = [cellView subviews];
for (id view in subviews) {
ViewType* view = (ViewType*)view;
if (view != nil) {
if ([view.identifier isEqualToString:@"idSetInIB"]) {
[view setStringValue:dataItem.someValue];
}
}
}
谢谢。
这里是引导是怎么说的观点的层次结构:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CocoaViewsGuide/WorkingWithAViewHierarchy/WorkingWithAViewHierarchy.html 他们只是提子视图方法,有一个NSView子类的指南,但是我试图找出的是 - 当案例像上面解释的那样简单时(在CellView中添加标签),哪种方法是正确的。 –
如果你认为我的问题的答案是 - 绝对是继承的方式 - 请编辑你的答案。 –
如果您阅读本指南,您将会明白,子类化是处理基于视图的表格的预期方式。 – uchuugaka