我有一个连接到阵列控制器的表视图,并且能够用数据填充该表。我希望能够选择一行并调用处理程序。我已经尝试过
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
但无法调用处理程序。
在Objective-C中使用Mac应用程序。如何正确连接此处理程序,还是应该使用其他方法?
答案 0 :(得分:1)
您不会在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.
}
}