我的应用程序中有一个NSCombobox,我为它设置了数据源。
IBOutlet NSComboBox *comboBox;
我还在程序的某个时刻指定:
[comboBox reloadData];
我的想法是,在这次调用之后,我应该调用这些方法,只要我记得设置组合框的数据源(我做了):
- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index
- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox
但我不是。这不是组合框的工作原理吗?
答案 0 :(得分:3)
如果您正在使用带有数据源的组合框,并且您可以在组合首次绘制之前设置数据源方法所需的任何结构,则只需在数据随后更改时调用reloadData
如果在调用reloadData
之前或之后,数据源方法都未被调用 - 请确保将组合框配置为使用数据源。在笔尖中,在组合框下,选择使用数据源,或在代码中调用[comboBox setUsesDataSource:YES]
。