Фэкб -флажок в столбце таблицы не зарегистрируется, нажмите

StackOverflow https://stackoverflow.com/questions/2141919

Вопрос

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

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

Обновлять

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

- (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: метод Ваш объект будет состоянием кнопки ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top