Предполагается, что у вас есть словарь или пара массивов, содержащих ваши статические данные. Для простоты я пойду с очень простым массивом.
Вы должны изменить определение интерфейса ваших контроллеров представления, чтобы сообщить программе, что ваш контроллер представления может предоставить данные и делегирование представлению выбора.
@interface NVHomeViewController : UIViewController <UIPickerViewDelegate,UIPickerViewDataSource>
То, что простая реализация нескольких методов заставит его работать, однако следует проверить документацию на наличие других методов, которые являются необязательными, но обеспечивают больше настроек и контроля.
@interface NVHomeViewController : UIViewController <UIPickerViewDelegate,UIPickerViewDataSource>
NSArray *options;
- (void)viewDidLoad
{
[super viewDidLoad];
options = @[@"a",@"b",@"c",@"d"];
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return [options count];
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
return [options objectAtIndex:row];
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
NSLog(@"%@ selected.",[options objectAtIndex:row]);
}