使用数组值填充UIPickerView

Rah*_*hul 3 iphone ipad

我正在开发一个项目,我必须执行以下两项工作:1.)从CoreData获取值并将其存储在NSMutableArray中.2.)获取UIPickerView并用Array值填充它.

问题是数组的大小是动态的,我可以在UIPickerView中填充数组值.有人能帮我吗.

Rab*_*Dev 10

为了使UIPickerView正常工作,每次重新加载时,必须提供每个组件的组件数量(列)和行数:如上所述,用于[myPickerView reloadAllComponents];在填充数组后重新加载视图,但是你必须实现声明包含视图控制器类后,<UIPickerViewDelegate>将选择器链接到文件所有者作为委托,然后:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
   return 1;// or the number of vertical "columns" the picker will show...
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
    if (myLoadedArray!=nil) {
        return [myLoadedArray count];//this will tell the picker how many rows it has - in this case, the size of your loaded array...
    }
    return 0;
}

 - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
//you can also write code here to descide what data to return depending on the component ("column")
        if (myLoadedArray!=nil) {
            return [myLoadedArray objectAtIndex:row];//assuming the array contains strings..
        }
        return @"";//or nil, depending how protective you are
    }
Run Code Online (Sandbox Code Playgroud)