相关疑难解决方法(0)

将NSArrayController绑定到NSPopupButton和NSTextField

我想要完成的事情似乎应该相当简单.我在这里放了一个示例项目.

我有一个NSArrayController充满了NSDictionaries数组.

[[self controller] addObject:@{ @"name" : @"itemA", @"part" : @"partA" }];
[[self controller] addObject:@{ @"name" : @"itemB", @"part" : @"partB" }];
[[self controller] addObject:@{ @"name" : @"itemC", @"part" : @"partC" }];
Run Code Online (Sandbox Code Playgroud)

我正在使用'name'键来填充NSPopupButton以及此数组中的项目.使用以下绑定可以轻松完成此操作

绑定

然后,我想根据NSPopupButton的当前选择,使用'part'键中的文本填充NSTextField.我已经设置了以下绑定:

textfieldbindings

仅使用这些绑定,文本字段就会显示"partC".

初始显示

但是,如果我更改NSPopupMenu的值,文本字段显示的内容不会更改.

我认为这只是在NSPopupButton上设置'Selected Object'绑定的问题

选定的对象

但那不起作用.我最终得到了菜单中的代理对象,原因有些奇怪(提供原因可能是奖金).

窗口2

那么,我需要做些什么来使这项工作?

macos cocoa nsarraycontroller cocoa-bindings

19
推荐指数
1
解决办法
7457
查看次数

标签 统计

cocoa ×1

cocoa-bindings ×1

macos ×1

nsarraycontroller ×1