2009-12-16 50 views

回答

6

您需要使用NSTableViewDelegate來控制當您使用NSTableView時發生的情況。如果您持有該表相關的視圖被命名爲MyViewController,你的界面(.h)文件應該這樣開始:

@interface MyViewController : NSObject <NSTableViewDelegate> { 

,然後在執行(.m)文件中,有這樣的:

- (id)init { 
    [super init]; 
    myTableView.delegate = self; 
    return self; 
} 

- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)rowIndex { 
    NSLog(@"%i tapped!", rowIndex); 
    return YES; 
} 
+0

我不知道我是否做對或錯(因爲網上很少有令人困惑的教程可用),但上面的解決方案適用於我:) 謝謝! – 2013-11-23 07:45:36

+2

我已經upvoted,因爲這會工作,但我認爲更好的方法是使用'tableViewSelectionDidChange:'因爲你使用的方法真的有問問權限,如果允許選擇更改。 – JeremyP 2013-12-30 14:59:11

-5

我錯過了什麼嗎?只需在以下代理方法中調用它即可:didSelectRowAtIndexPath

+0

我需要它適用於NSTableView。 – Joshua 2009-12-16 18:20:29

+4

你需要閱讀很多文檔。 – 2009-12-16 18:35:18

+0

那爲什麼呢? – Joshua 2009-12-16 18:36:38

2

以下鏈接指向NSTableViewDelegate docs

+0

NSTableViewSelectionDidChangeNotification? – Joshua 2009-12-16 18:41:27

+0

這是一個通知名稱(這是爲什麼它以「通知」結尾)。觀察通知是一種方式,但作爲代表更容易。 – 2009-12-16 23:19:56

相關問題