2015-02-25 4 views
0

Я хочу использовать UIPickerView в моем проекте, но мой метод titleForRow не вызывается даже при вызове numberOfComponentsInPickerView и numberOfRowsInComponent. Кто-нибудь знает, что с ним делать?метод titleForRow для UIPicker не называется

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 
{ 
    return 1; 
} 

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 
{ 
    return pickerData.count; 
} 

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component 
{ 
    NSString *title = [pickerData objectAtIndex:row]; 
    return title; 
} 

Это мои методы UIPickerView и я поставил DataSource и передать так:

self.schedulePicker.dataSource = self; 
self.schedulePicker.dataSource = self; 

Я работаю в Xcode 6.1.1, но цель развертывания 7.1.

Спасибо всем за помощь.

+0

'pickerView: titleForRow: forComponent:' 'является метод UIPickerViewDelegate', а не' UIPickerViewDataSource' метод. – Larme

ответ

1

Вы установили UIPickerViewDatasource дважды вместо установки UIPickerViewDelegate.

Изменить на:

self.schedulePicker.dataSource = self; 
self.schedulePicker.delegate = self; 
+1

Да, вот оно! Как я мог пропустить это? Спасибо огромное! – otter

Смежные вопросы