我试图得到所选择的指标的一个NSComboBox,有一个数据源的使用indexOfSelectedItem.

[combobox setUsesDataSource:YES];
[combobox setDataSource:dataSource];
[combobox selectItemAtIndex:1];
int idx =[combobox indexOfSelectedItem];

idx将始终返回-1;

得到同样的结果,即使在定义内列表NSComboBox在InterfaceBuilder.

是否有任何其他方式检索所选择的指数?

有帮助吗?

解决方案

你可能打电话 [combobox numberOfItems]; 只是为了确保你们中的项目清单。

此外,叫 selectItemAtIndex:1 应该火 NSComboBoxSelectionDidChangeNotification 你可以听到确保它的变化。

编辑1: 还有,你有没有确定选择"使用数据的来源",在"属性检查"(命令-1快捷键)的组合框在接口的建设者?通过默认,它使用的内部清单,这将是冲突与数据源的方法,你正在尝试使用。

编辑2: 没关系以前的评论,你的代码呼吁它明确地.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top