У меня есть NSButton внутри моей ячейки в NSTableView, и я хочу назначить ему действие и тег, чтобы иметь индекс, поэтому я сделал:
NSTableCellView *cellView = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
if( [tableColumn.identifier isEqualToString:@"check"] )
{
NSButton *button = (NSButton*)[cellView viewWithTag:100];
if (button == nil)
NSLog(@"button is null");
[button setTag:row];
[button setAction:@selector(SelectRow:)];
}
}
- (IBAction)SelectRow:(id)sender{
NSInteger index = [sender tag];
NSLog(@"index:%lu", index);
}
Вы можете видеть, что у меня есть NSButton, начинающийся с тега = 100: я установил его в файле xib и изменил его на значение строки. Но у меня есть кнопка nil, потому что она входит в условие. В IOS это работает нормально, а в OSX нет... почему?