我的应用程序中有一个NSCombobox,我为它设置了一个数据源.
IBOutlet NSComboBox *comboBox;
我还在我的程序中指定:
[comboBox reloadData];
我的想法是,在这次调用之后,我应该调用这些方法,只要我记得设置组合框的数据源(我做了):
- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index - (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox
但我没有.这不是组合框的工作原理吗?
解决方法
如果您正在使用带有数据源的组合框,并且您可以在组合首次绘制之前设置数据源方法所需的任何结构,则只需在数据随后更改时调用reloadData.
如果根本没有调用数据源方法 – 在调用reloadData之前或之后 – 确保组合框配置为使用数据源.在nib中,在Combo Box下,选择Uses Data Source,或在代码中调用[comboBox setUsesDataSource:YES].