NSComboBoxDelegate被调用但旧的'stringValue'仍然存在

时间:2011-07-09 01:05:18

标签: objective-c cocoa nscombobox

我从组合框的下拉列表中选择一个值。 NSComboBox委托触发comboBoxSelectionDidChange:通知,但是当我检索组合框的stringValue时,它是旧的选定值。我如何获得更新的值?

我指定了一个dataSource,因此itemObjectValueAtIndex:objectValueOfSelectedItem不起作用。

2 个答案:

答案 0 :(得分:4)

如果您正在使用数据源,那么:

NSString *s = [yourDataSource comboBox:comboBox
             objectValueForItemAtIndex:[comboBox indexOfSelectedItem]];
如果您的数据源提供字符串,则

应该有效。否则,将此方法返回的对象转换为字符串。

答案 1 :(得分:2)

来自here

  

我使用以下方法获得了所选值:

NSString *strValue = [comboBox itemObjectValueAtIndex:[comboBox indexOfSelectedItem]];