多个UIPickerViews

tim*_*w07 2 iphone dataset uipickerview uipicker ios

我有两难,我有两个UIPickerViews,当两个不同的视图加载时"显示".我从一开始就UIPickerView通过加载数组和UIPickerViewViewController中的所有其他操作来启动并运行.

我认为这就像复制/粘贴新的相同方法一样简单UIPickerView,但只是更改变量名称,也在同一个中UIViewController.

问题是 - 两者UIPickerView都在下拉列表中显示相同的数据集?我只是遗漏了一些明显的东西吗?

更新如下

我为下面的所有四种方法做了这个,现在应用程序在加载"下一个"视图后崩溃了?这看起来不错吗?

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView 

- (NSInteger)thePickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component

- (NSString *)thePickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

- (void)thePickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
Run Code Online (Sandbox Code Playgroud)

Tho*_*sRS 13

是的,你必须使用UIPickerView参数来确定WHICH选择器视图实际上是在寻求数据 - 因为你已经将两个选择器都设置为相同的数据源.

-(void)numberOfComponentInPickerView:(UIPickerView*)thePickerView {
    if(thePickerView == firstPickerView) {
       // return number of components in first picker    
    } else if(thePickerView == secondPickerView) {    
       // return number of components in second picker    
    } else {
       assert(NO);
    }
}

// repeat for all other delegate / datasource methods
Run Code Online (Sandbox Code Playgroud)