Я работаю над приложением на основе CoreData/Document. В одной области пользовательского интерфейса я настроил таблицу режимов просмотра с различными столбцами. В одном столбце есть NSPopupButton с настройкой привязки Selected Index как Table Cell View.objectValue.startupState.
Выбор любого из пунктов меню во всплывающем окне корректно обновит атрибут startupState объекта с индексом щелкнутого пункта меню, а также обновится текст NSPopupButton. Я убедился, что значение атрибута действительно обновляется при сохранении, закрытии и повторном открытии документа.
В другом столбце у меня есть NSPopupButton, привязанный аналогично другому атрибуту в том же объекте — Table Cell View.objectValue.mode. В зависимости от выбранного режима он изменит значение startupState с помощью ручной реализации setMode, которая в определенных случаях выполняет этот оператор:
[self setValue:[[NSNumber alloc] initWithInt:1] forKey:@"startupState"];
Проблема, с которой я сталкиваюсь, заключается в том, что NSPopupButton не обновляется, чтобы отображать текст пункта меню для выбранного индекса. Как и прежде, я сохранил, закрыл и снова открыл документ после того, как приведенный выше код запустился и был выбран правильный элемент/появился текст, поэтому я знаю, что вызов setValue обновил атрибут.
Любые идеи?
[[NSNumber numberWithBool:YES]
? - person Volker   schedule 07.02.2014startupState
находится в CoreData или является производным? Он объявлен @динамическим? Кроме того, когда вы устанавливаете это состояние? Установлено ли это, когда всплывающее окно все еще всплывает? - person Wil Shipley   schedule 07.02.2014