NSComboBox数据源和reloadData

时间:2011-08-20 03:08:37

标签: objective-c cocoa datasource nscombobox

我的应用程序中有一个NSCombobox,我为它设置了数据源。

 IBOutlet NSComboBox *comboBox;

我还在程序的某个时刻指定:

[comboBox reloadData];

我的想法是,在这次调用之后,我应该调用这些方法,只要我记得设置组合框的数据源(我做了):

- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index
- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox

但我不是。这不是组合框的工作原理吗?

1 个答案:

答案 0 :(得分:3)

如果您正在使用带有数据源的组合框,并且您可以在组合首次绘制之前设置数据源方法所需的任何结构,则只需在数据随后更改时调用reloadData

如果在调用reloadData之前或之后,数据源方法都未被调用 - 请确保将组合框配置为使用数据源。在笔尖中,在组合框下,选择使用数据源,或在代码中调用[comboBox setUsesDataSource:YES]