这是一个数据源组件,数据源组件用法:1、实现DataSource,分配数据源 2、实现Delegate,响应事件
首先引入两个协议 UIPickerViewDataSource,UIPickerViewDelegate
让自己本身作为两个代理
self.pickerView1.dataSource = self;
self.pickerView1.delegate = self;
两个必须实现的UIPickerViewDataSource中的方法
@required
// returns the number of 'columns' to display.
//返回组件数即列数
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
// returns the # of rows in each component..
//返回每一个组件的行数,即每一列的行数
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
//实现选择事件,参数分别是,pickerView,第二个row就是当前行数,component为当前组件即为列数
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;
//实现title,一般通过判断component,返回某个数组的第row行。。
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
//例子if (component == 0) {
return print[row];
} else {
if ([city valueForKey:selectValue]) {
//返回第2列的某一行
return [city valueForKey:selectValue][row];
}else{
return @"?";
}
}