#import "SOViewController.h"@interfaceSOViewController()@property(weak,nonatomic)IBOutletUIPickerView*Picker1;@property(weak,nonatomic)IBOutletUIPickerView*Picker2;@end@interfaceSOViewController(SOPickerDelegate)<UIPickerViewDelegate,UIPickerViewDataSource>@end@implementationSOViewController{NSArray*list_media;NSArray*list_media_channel;}-(void)viewDidLoad{[superviewDidLoad];list_media=@[@"TV",@"Radio"];list_media_channel=@[@[@"ABC",@"SBS"],@[@"TripleJ",@"107.1",@"CBS"]];}-(void)didReceiveMemoryWarning{[superdidReceiveMemoryWarning];// Dispose of any resources that can be recreated.}@end@implementationSOViewController(SOPickerDelegate)-(void)pickerView:(UIPickerView*)pickerViewdidSelectRow:(NSInteger)rowinComponent:(NSInteger)component{if(pickerView==_Picker1){// set Picker 2 accordingly[_Picker2reloadAllComponents];}}-(NSArray*)getDataByPicker:(UIPickerView*)pickerView{if(pickerView==_Picker1){returnlist_media;}else{NSArray*content=[list_media_channelobjectAtIndex:[_Picker1selectedRowInComponent:0]];returncontent;}}-(NSString*)pickerView:(UIPickerView*)pickerViewtitleForRow:(NSInteger)rowforComponent:(NSInteger)component{NSArray*data=[selfgetDataByPicker:pickerView];return[dataobjectAtIndex:row];}-(NSInteger)pickerView:(UIPickerView*)pickerViewnumberOfRowsInComponent:(NSInteger)component{NSArray*data=[selfgetDataByPicker:pickerView];return[datacount];}-(NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView{return1;}@end