私が達成したいことは、かなり単純であるように思えます。ここにサンプル プロジェクトを配置しました。
NSDictionaries の配列で満たされた NSArrayController があります。
[[self controller] addObject:@{ @"name" : @"itemA", @"part" : @"partA" }];
[[self controller] addObject:@{ @"name" : @"itemB", @"part" : @"partB" }];
[[self controller] addObject:@{ @"name" : @"itemC", @"part" : @"partC" }];
「name」キーに基づいて、この配列の項目を NSPopupButton に入力しています。これは、次のバインディングで簡単に実現できます

次に、NSPopupButton の現在の選択に基づいて、「part」キーのテキストを NSTextField に入力したいと思います。次のバインディングをセットアップしました。

これらのバインディングだけでは、テキスト フィールドに「partC」が表示されます。

しかし、NSPopupMenu の値を変更しても、テキスト フィールドに表示される内容は変わりません。
これは単に NSPopupButton で「選択したオブジェクト」バインディングを設定するだけの問題だと思いました

しかし、それは機能していません。奇妙な理由でメニューにプロキシオブジェクトが表示されます(ボーナスになる理由を提供します)。

では、これを機能させるにはどうすればよいでしょうか。