NSComboBox 绑定,因此它调用 selectItematIndex 而不仅仅是显示属性值
Posted
技术标签:
【中文标题】NSComboBox 绑定,因此它调用 selectItematIndex 而不仅仅是显示属性值【英文标题】:NSComboBox Binding so it calls selectItematIndex instead of just displaying property value 【发布时间】:2012-08-16 17:20:46 【问题描述】:我有一个绑定到对象控制器的 NSCombobox。对象控制器是通过 RestKit 的对象序列化框架创建的(自定义)Employee Class 的实例。 NSComboBox 的 Value 绑定到一个关键路径 employeeType,这是一个存储在远程 mysql 数据库中的 int 值。 int值对应的是员工类型,所以
0 == "Full Time"
1 == "Part Time"
2 == "Terminated"
....
11 == "Temp Worker"
目前(如预期),NSComboBox 显示 int 值。有没有办法调用 selectItemAtIndex: 在 IB 中使用该 int 值,以便它选择该索引处的项目,而不仅仅是通过绑定将 int 值放入 NSComboBox 中?
我的想法是我可以覆盖属性中的 getter,使其看起来像:
if ([self employeeType] == 0)
[comboBox selectItemAtIndex:0];
但我不认为这是对绑定的正确使用。
【问题讨论】:
字符串本身(“全职”、“兼职”等)是否可用于对象控制器? 还没有,我只是使用 Interface Builder 填充了 NSComboBox 【参考方案1】:将弹出按钮的“选定索引”绑定到您的控制器,而不是“选定值”。这是一个屏幕截图,可以让事情更清楚:
【讨论】:
以上是关于NSComboBox 绑定,因此它调用 selectItematIndex 而不仅仅是显示属性值的主要内容,如果未能解决你的问题,请参考以下文章
从 8000 个项目列表中加载 NSComboBox 的最快方法