Фэкб -флажок в столбце таблицы не зарегистрируется, нажмите
-
22-09-2019 - |
Вопрос
У меня есть представление о таблице, в которое я динамически добавляю столбцы. Это должно быть сделано таким образом, потому что я не могу предсказать, сколько или какие столбцы мне понадобятся.
Некоторые столбцы есть Флакторы Но я не могу нажать на них, когда запускаю свое приложение. Столбец и флажок установлены на редактируемые, но если я нажму на флажок, проверка не будет установлена. Я что-то упускаю?
Обновлять
Как я (пытаюсь) установить состояние на флажке:
- (void)tableView:(NSTableView *)theTableView
setObjectValue:(id)theObject
forTableColumn:(NSTableColumn *)theColumn
row:(int)rowIndex
{
if (theTableView == resultsTableView) {
if ([[theColumn identifier] isEqualToString:CHCheckBoxColumnIdentifier]) {
NSInteger state = [[theColumn dataCell] state];
if (state == NSOnState) {
[[theColumn dataCell] setState:NSOffState];
} else {
[[theColumn dataCell] setState:NSOnState];
}
/*
NSLog(@"%@", theObject);
NSLog(@"%@", theColumn);
NSLog(@"%i", rowIndex);
*/
}
}
}
Решение
Ваши столбцы связаны с контроллером или вы используете протокол nstabledatasource? Я подозреваю последнее, но вам нужно указать.
В ходе моего предположения: щелчок на флажке обрабатывается так же, как и все остальное в -tableView:setObjectValue:forTableColumn:row:
метод Ваш объект будет состоянием кнопки ...