То, что я хочу сделать, похоже, должно быть довольно простым. Я разместил образец проекта здесь.
У меня есть NSArrayController, заполненный массивом NSDictionaries.
[[self controller] addObject:@{ @"name" : @"itemA", @"part" : @"partA" }];
[[self controller] addObject:@{ @"name" : @"itemB", @"part" : @"partB" }];
[[self controller] addObject:@{ @"name" : @"itemC", @"part" : @"partC" }];
Я заполняю NSPopupButton элементами в этом массиве на основе ключа "name". Это легко осуществить с помощью следующих привязок
Затем я хотел бы заполнить NSTextField текстом в ключе "part" на основе текущего выбора NSPopupButton. Я установил следующую привязку:
Только с этими привязками текстовое поле отображает "partC".
Однако, если я изменяю значение NSPopupMenu, то, что показывает текстовое поле, не изменяется.
Я думал, что это просто вопрос настройки привязки "Selected Object" на NSPopupButton
но это не работает. Я в конечном итоге с прокси-объект в моем меню по какой-то странной причине (с указанием причины, почему будет бонус).
Итак, что мне нужно сделать, чтобы сделать эту работу?