Я работаю над приложением документов Core Data, которое динамически создает NSTableColumns
. Тип ячейки данных может быть флажком, ползунком и т. Д. Работает программная привязка ко всем типам ячеек, кроме NSTextFieldCell
.
Все NSTextFieldCells
не удается связать, и после редактирования они возвращаются к значениям по умолчанию. Это происходит независимо от того, привязаны ли они к строке, числу (с применением NSNumberFormatter
) или дате (с применением NSDateFormatter
). Я использую следующий формат для всех привязок:
NSDictionary *textFieldOpts = [NSDictionary dictionaryWithObjectsAndKeys:@"YES", NSContinuouslyUpdatesValueBindingOption, @"YES", NSValidatesImmediatelyBindingOption, nil];
[aCell bind:@"value" toObject:[[entryAC arrangedObjects] objectAtIndex:0] withKeyPath:@"numberData" options:textFieldOpts];
Опять же, эти операторы работают, если тип ячейки отличается от NSTextFieldCell
.
Я добавил метод -observeValueForKeyPath
, чтобы регистрировать изменения значения ... и для других типов ячеек (например, NSSliderCell
) я могу видеть изменение значения, но с NSTextFieldCell
оно никогда, никогда обновления.