如何将含NSDictionary的NSMutableArray绑定到NSPopUpButton并显示指定字段?
核心结论
- 要用Content Values来实现需求,完全可以不借助ArrayController。
具体操作步骤
- 在故事板中选中你的
NSPopUpButton,打开Xcode的绑定检查器 - 找到并展开Content Values选项组
- 在「Bind to」下拉列表中选择你的视图控制器
- 在「Model Key Path」输入框中填写:
myMutableArray.@unionOfObjects.name1这里用了KVC集合运算符
@unionOfObjects,可以直接从数组的每个字典对象中提取name1字段的值,生成一个字符串数组供弹窗按钮显示 - 勾选「Continuously Updates Value」选项,这样当
myMutableArray的内容增删或修改时,弹窗按钮的选项会自动同步更新
补充说明
为什么不用Contents?因为Contents是用来绑定数据源对象本身的(比如绑定整个字典数组),而我们需要的是对象内部的某个字段作为显示文本,Content Values正是用来指定显示内容对应的键路径,更贴合当前需求。
内容的提问来源于stack exchange,提问作者IRP_HANDLER
相关产品推荐
相关产品推荐

