我正在努力解决这个问题,忍不住觉得我错过了一些明显的东西!
我有一个 NSTable,其中包含一个 Table Cell View,后者又包含一个 NSButton。
按钮定义了一个 socket ,表格 View 定义了一个 socket 。
我使用以下代码获取用户单击该按钮时按钮所在行的索引:
- (IBAction)approveButtonInTable:(id)sender {
NSInteger selected = [self.tweetTableView clickedRow];
NSLog(@"sender sends :%ld", selected);
}
然而,这总是以 -1 回复,这并不是很有帮助。
我是否遗漏了一些非常明显的东西?
谢谢
加雷思
编辑 1
我发现如果我在 tableview 的导出使用它,这确实有效,使用这个:
- (IBAction)tweetTableAction:(id)sender {
NSInteger selected = [_tweetTableView clickedRow];
NSLog(@"sender sends :%ld", selected);
}
但是这并没有真正帮助我,因为当我点击按钮时我仍然无法让它工作,doh!
最佳答案
因为您说您正在使用 NSTableCellView
,这告诉我您正在使用基于 View 的表。在这种情况下,您需要调用 rowForView:
,传入按钮。我相信这种方法只适用于这种情况(从未在基于单元格的表上尝试过)。
- (IBAction)approveButtonInTable:(id)sender {
NSInteger selected = [self.tweetTableView rowForView:sender];
NSLog(@"sender sends :%ld", selected);
}
关于objective-c - 在 NSTable 中获取 NSButton 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17791750/