在一个uiPickerView组件中添加2个webservices数据



这是我的问题,如果这是一个很常见的问题,我很抱歉。

我有一个web服务,从中我从不同的方法获得项目和假期。现在我只希望这个假期和项目被加载到uipickerview在一个单一的组件。

例如,我有我的项目名称proj1, proj2,proj3来自getProjects方法来自web-service。

同样,我有名字sickleave, casual leave的假期,它来自web-service的getHolidays方法。

所以我想以这样一种方式sickleave,casual leave,proj1,proj2显示在uipickerview的单个组件中

我猜有些答案是说要使用NSMutableArray,但我不知道如何使用。

我认为你应该遵循以下步骤:

  1. 声明并初始化NSMutableArray。
  2. 在你的NSMutableArray上使用addObject方法从两个WebServices中添加对象到你的数组中。您将需要循环直到WebServices返回值。
  3. 在循环外使用:[picker reloadAllComponents]
  4. 使用选择器视图委托方法

    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
    {        
    return [yourArray count];
    }
    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
    {
    return  1 ;
    }
    - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row
            forComponent:(NSInteger)component
    {
    return [yourArray objectAtIndex:row];
    }
    

也不要忘记连接你的选择器视图委托和数据源。