Objective c NSTableView获取所选行

Objective c NSTableView获取所选行,objective-c,macos,uitableview,nsarraycontroller,Objective C,Macos,Uitableview,Nsarraycontroller,我有一个连接到阵列控制器的表视图,能够用数据填充表。我希望能够选择一行并调用一个处理程序。我试过了 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 但我无法呼叫处理程序 在Objective-C中处理Mac应用程序。我如何正确连接此处理程序,或者应该使用不同的处理程序?您不会在Mac应用程序中使用UIKit,而是使用AppKit的NSTableView 创建

我有一个连接到阵列控制器的表视图,能够用数据填充表。我希望能够选择一行并调用一个处理程序。我试过了

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
但我无法呼叫处理程序


在Objective-C中处理Mac应用程序。我如何正确连接此处理程序,或者应该使用不同的处理程序?

您不会在Mac应用程序中使用
UIKit
,而是使用
AppKit
NSTableView

创建列: 设置表格:
您不会在Mac应用程序中使用
UIKit
,而是使用
AppKit
NSTableView

创建列: 设置表格:
明白…我仍然不知道如何将我的表或数组控制器连接到此委托。我该怎么做?明白了…我仍然不知道如何将我的表或数组控制器连接到此委托。我该怎么做?可能重复的可能重复的
NSTableColumn * column = [[NSTableColumn alloc] initWithIdentifier:@"SomeColumnId"];
column.headerCell.stringValue = NSLocalizedString(@"Column Name", nil);
[_table addTableColumn:column];
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
    return _someArray.count;
}

- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
    if ( [tableColumn.identifier isEqualToString:@"SomeColumnId"] )
    {
        return @"Some cell string"; // or _someArray[row][@"some_string_key"]
    }

    return nil;
}

-(void)tableViewSelectionDidChange:(NSNotification *)notification
{
    if ( [[notification object] selectedRow] == 0 )
    {
        /// first row was selected. 
    }
}