Флажок в столбце таблицы не регистрирует клик

У меня есть табличное представление, к которому я добавляю столбцы динамически. Это должно быть сделано так, потому что я не могу предсказать, сколько или какие столбцы мне понадобятся.

Некоторые столбцы являются флажками, но я не могу нажать на них, когда я запускаю свое приложение. Столбец и флажок установлены для редактирования, но если я нажму на флажок, флажок не будет установлен. Я что-то пропустил?

Обновить

Как я (пытаюсь) установить состояние на флажок:

- (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);
            */
        }
    }
}

1 ответ

Решение

Связаны ли ваши столбцы с контроллером или вы используете протокол NSTableDataSource? Я подозреваю последнее, но вам нужно будет уточнить.

Исходя из моего предположения: нажатие на флажок обрабатывается так же, как и все остальное в -tableView:setObjectValue:forTableColumn:row: метод. Ваш объект будет в состоянии кнопки...

Другие вопросы по тегам