2014-03-30 24 views
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]; 
      } 
     } 
    } 

谢谢。

回答

-1

Apple TableView编程指南提供了有关如何将NSTableCellView继承为基于视图的表的很好的基本示例。

没有绑定可能会更容易一点。 当然更好的学习它。

但是,您应该能够将Interface Builder中的另一个文本字段添加到表格单元格视图。

阅读指南。这将有极大的帮助。

+0

这里是引导是怎么说的观点的层次结构:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CocoaViewsGuide/WorkingWithAViewHierarchy/WorkingWithAViewHierarchy.html 他们只是提子视图方法,有一个NSView子类的指南,但是我试图找出的是 - 当案例像上面解释的那样简单时(在CellView中添加标签),哪种方法是正确的。 –

+0

如果你认为我的问题的答案是 - 绝对是继承的方式 - 请编辑你的答案。 –

+0

如果您阅读本指南,您将会明白,子类化是处理基于视图的表格的预期方式。 – uchuugaka

相关问题