Получение «?» при заполнении моего pickerview при загрузке

#iphone #objective-c #xcode

#iPhone #objective-c #xcode

Вопрос:

Я искал здесь, но не увидел ничего похожего на эту ошибку.

Я пытаюсь заполнить мой pickerview при viewDidLoad, но когда я запускаю свою программу, pickerView просто заполняется «?» вместо моих строк… что здесь происходит? Заранее спасибо.

 - (void)viewDidLoad {
    [super viewDidLoad];

    activities = [[NSArray alloc] initWithObjects:@"sleeping", @"eating", @"working", @"thinking", @"crying", @"begging", @"leaving", @"shopping", @"hello worlding", nil];

    feelings = [[NSArray alloc] initWithObjects:@"awsome",@"sad",@"happy",@"ambivalent",@"nauseous",@"psyched",@"confused",@"hopeful",@"anxious",nil];

}
  

Ответ №1:

Вам необходимо реализовать протоколы UIPickerViewDelegate и UIPickerViewDataSource :

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

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    if (component == 0)
        return [activities count];
    else
        return [feelings count];
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    if (component == 0)
        return [activities objectAtIndex:row];
    else
        return [feelings objectAtIndex:row];
}