J'ai un simple uipickerview et j'essaie de le remplir avec une liste de dr d'une base de données coredata. Je charge la liste des drs dans viewdidload et ai vérifié qu'ils sont là avec nslog statments. Après avoir vérifié qu'ils sont là, je fais un reloadallcomponents et mon pickerview montre un nombre approprié de "?" des notes. Quand je mets en points d'arrêt, je remarque que mon application passe à travers et obtient le nombre de lignes deux fois, et renvoie le nombre approprié, mais la méthode titleforrow ne se fait jamais appeler. Des pensées?UIPickerview ne pas appeler titleForRow
- (NSInteger)numberOfComponentsInPickerView:
(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component
{
NSLog(@"there are %d doctors",[self.doctors count]);
return [self.doctors count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSLog(@"Row %d has dr %@",row,[self.doctors objectAtIndex:row]);
return [self.doctors objectAtIndex:row];
}
Avez-vous mis 'la delegate' en plus de son' dataSource' de la vue du sélecteur? – rmaddy
'titleForRow:' et 'numberOfRowsInComponent:'/'numberOfComponentsInPickerView:' toutes les méthodes de source de données ne sont-elles pas? – nhgrif
@nhgrif Me demandez-vous? Regarde les docs. – rmaddy