2012-02-17 20 views
3

我有一個通過綁定填充的基於視圖的NSTableView。我的textFields & imageViews綁定到NSTableCellView的objectValue的屬性。NSTableCellView中的NSButton:如何找到想要的objectValue?

如果我想在我的NSTableCellView編輯/信息按鈕:

  1. 誰應該按鈕的操作的目標是什麼?

  2. 目標如何獲取與按鈕所在單元格關聯的objectValue?

我最終希望顯示基於objectValue的彈出窗口/工作表。

回答

6

您的控制器類可以成爲目標。要獲取對象的值:

- (IBAction)showPopover:(id)sender { 
    NSButton *button = (NSButton *)sender; 
    id representedObject = [(NSTableCellView *)[button superview] objectValue]; 
} 

或使用的NSTableCellView一個子類,使細胞查看按鈕操作的目標,並呼籲[self objectValue]獲取對象。

14

我發現了一個額外的答案:上面的答案似乎假設您在桌面視圖上使用綁定。由於我是一種noob,我發現了一種方法來獲取表格視圖單元格內的按鈕。

- (IBAction)getCellButton:(id)sender { 
    int row = [xmlTable rowForView:sender]; 
} 

這樣當你點擊行內的按鈕時,你不必選擇該行。它將返回該行的int值,以匹配數組中沒有綁定的數據源。