2014-03-30 28 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

相關問題