//
// ViewController.m
// 自动拾取器
//
// Created by 李江 on 16/5/4.
// Copyright © 2016年 李江. All rights reserved.
//
#import "ViewController.h"
#import "MJExtension.h"
#import "CityModel.h"
@interface ViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>
{
NSArray *dataArray;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
UIPickerView *pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0, 736-300, 414, 300)];
pickerView.delegate =self;
pickerView.dataSource = self;
pickerView.backgroundColor = [UIColor grayColor];
NSString *path = [[NSBundle mainBundle]pathForResource:@"city" ofType:@"plist"];
dataArray = [NSArray arrayWithContentsOfFile:path];
//把数据类型转化为CityModel
NSLog(@"%@",dataArray);
dataArray = [CityModel mj_objectArrayWithKeyValuesArray:dataArray];
[self.view addSubview:pickerView];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component == 0) {
return dataArray.count;
}
NSInteger selectRow = [pickerView selectedRowInComponent:component];
CityModel *model = dataArray[selectRow];
NSArray *cityArray = model.cities;
return cityArray.count;
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (component == 0) {
CityModel *model = dataArray[row];
return model.state;
}
NSInteger selectedRow = [pickerView selectedRowInComponent:0];
CityModel *model = dataArray[selectedRow];
return model.cities[row];
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
if (component == 0) {
[pickerView reloadAllComponents];
}
}
*******
CityModel.h里面代码如下
@property(nonatomic,copy)NSArray *cities;
@property(nonatomic,copy)NSString *state;
plist文件格式
运行效果