2009-11-05 29 views
0

我试图通过使用indexOfSelectedItem来获取具有数据源的NSComboBox的选定索引。无法从NSComboBox中检索选定的索引

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

idx将始终返回-1;

即使在InterfaceBuilder中定义NSComboBox的内部列表时也能得到相同的结果。

是否有任何其他方式来检索选定的索引?

回答

2

您可能会尝试致电[combobox numberOfItems];只是为了确保您有列表中的项目。

此外,拨打selectItemAtIndex:1应激发您可以听取的NSComboBoxSelectionDidChangeNotification以确保其更改。另外,您是否确保在Interface Builder的组合框的“属性检查器”(Command-1快捷键)中选择“使用数据源”?默认情况下,它使用内部列表,这将与您尝试使用的DataSource方法发生冲突。

编辑2:不要介意以前的评论,你的代码明确地调用它。

+0

现在就工作了,我不知道什么是错误的,可能在IB中做了错误的事情。 – Martinj 2009-11-05 16:47:36