У меня есть два компонента пользовательского интерфейса, значения которых синхронизируются по умолчанию пользователя. Первый - по существу поле ввода, другое - пункт меню. Когда изменяется значение поля ввода, ключ эквивалент пункта меню изменяется через Cocoa привязки:Связывание какао не считывает значение nil из пользовательских значений по умолчанию
Input Field -> NSUserDefaultsController -> User Defaults
User Defaults -> NSUserDefaultsController -> Menu Item
Это отлично работает для всего, кроме значения nil
. По какой-то причине я не могу сохранить фактическое значение nil
в пользовательских значениях по умолчанию, вместо этого я использую пустой словарь. С другой стороны, которая считывает значение, у меня есть трансформатор, который «раздувает» пустой словарь в значение nil
.
Теперь, когда я вводим значение, отличное от нуля, в поле ввода, оно переходит к пользовательским значениям по умолчанию и правильно распространяется до пункта меню. Когда я вводим «пустое» значение, пустой пароль корректно сохраняется в пользовательских значениях по умолчанию, но связанное значение элемента меню не изменяется.
Что я делаю неправильно?