2013-10-07 3 views
0

Я связал столбец NSSwitchCells с NSArrayController. Значения ON/OFF отображаются правильно, однако, когда я нажимаю на него, значение не изменяется. Коробка переключения дает визуальную обратную связь от щелчка, но значение остается неизменным (отмечено или не отмечено).NSSwitchCell не меняет значение после нажатия на него

enter image description here

Я пробовал все вроде опций связывания.

NSDictionary *bindingOptions = [NSDictionary dictionaryWithObjectsAndKeys: 
               [NSNumber numberWithInteger:1], NSContinuouslyUpdatesValueBindingOption, 
               [NSNumber numberWithInteger:1], NSRaisesForNotApplicableKeysBindingOption, 
               [NSNumber numberWithInteger:1], NSConditionallySetsEditableBindingOption, 
               [NSNumber numberWithInteger:1], NSValidatesImmediatelyBindingOption, 

               nil]; 
       [tableColumn bind:@"value" toObject:currentItemsArrayController withKeyPath:[NSString stringWithFormat:@"arrangedObjects.%@", editedColumnmetadata.columnBindingKeyPath] options:bindingOptions]; 

[(NSButtonCell*)cell setButtonType:NSSwitchButton]; 
       [cell setTitle:@""]; 
       [tableColumn setDataCell:cell]; 

благодаря

UPDATE: (привязка к клетке?)

//[tableColumn bind:@"value" toObject:currentItemsArrayController withKeyPath:[NSString stringWithFormat:@"arrangedObjects.%@", editedColumnmetadata.columnBindingKeyPath] options:bindingOptions]; 
[cell bind:@"objectValue" toObject:currentItemsArrayController withKeyPath:[NSString stringWithFormat:@"arrangedObjects.%@", editedColumnmetadata.columnBindingKeyPath] options:bindingOptions]; 
+0

Вы связали ячейку ячейки таблицы столбец с вашим контроллером массива? –

+0

@hussainShabbir У меня нет. Как мне привязать его точно? Я добавил код к моему вопросу. Если я раскомментирую строку tableColumn, кнопки отключены, я не могу взаимодействовать с ними. Вторая строка, привязка к ячейке, ничего не меняет в текущем поведении. – aneuryzm

ответ

0

Вы должны следовать ниже шагов, и дайте мне знать, если вам требуется еще некоторые детали: -

Сначала вам нужно привязать столбец ячейки checkbox к контроллеру массива внутри инспектора привязки, как показано на скриншотах ниже.

enter image description here

Вторая вещь в контроллере массива, если вы хотите, чтобы обновить значение CheckBox ячейки затем записать это ниже метод действия и подключить этот метод действий для вашей таблицы столбца из CheckBox ячейки.

-(IBAction)clickChekBoxcell:(id)sender 
{ 
    NSInteger chkCell=[sender integerValue]; 
    NSNumber *num=[NSNumber numberWithInteger:chkCell]; 
    NSMutableDictionary *dict=[NSMutableDictionary dictionary]; 
    for(dict in [arrCont arrangedObjects]) 
    { 
     [dict setObject:num forKey:@"checkYesNo"]; 
    } 
    [arrCont rearrangeObjects]; 
} 
Смежные вопросы