2009-11-05 33 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