UIPickerView: в экземпляр отправлен нераспознанный селектор

Я создаю форму для ввода данных в веб-базу данных. Все идет отлично, но мне нужно иметь несколько сборщиков с несколькими наборами данных. Я пытаюсь настроить класс, который я могу создать и установить в качестве источника данных и делегировать сборщикам, которые я подтягиваю, и это было в точку, но я пошел с другим методом. Теперь я не могу заставить его загрузить данные, выдавая мне эту ошибку:

'NSInvalidArgumentException', reason: '-[__NSArrayI numberOfComponentsInPickerView:]: unrecognized selector sent to instance 0x6c9c970'

Итак, вот мой код для класса выбора:

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    return myArray.count;
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    return [myArray objectAtIndex:row];
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    rowInt=row;

}

-(IBAction)setMyArray:(NSMutableArray *)incomingArray{
    myArray = incomingArray;
}

А вот и собственно сборщик.

PickerViewLoader *source = [[PickerViewLoader alloc]init];
    myarray =[[NSMutableArray alloc] initWithObjects:@"a", @"b", @"c", @"d", @"e", nil];
    [source setMyArray:myarray];

    pickerAction=[[UIActionSheet alloc]initWithTitle:nil delegate:nil cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
    [pickerAction setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
    CGRect pickerFrame = CGRectMake(0, 40, 0, 0);

    UIPickerView *carrierPicker =[[UIPickerView alloc]initWithFrame:pickerFrame];
    carrierPicker.showsSelectionIndicator=YES;
    carrierPicker.dataSource=source;
    carrierPicker.delegate=source;

    [pickerAction addSubview:carrierPicker];

    UISegmentedControl *closeButton=[[UISegmentedControl alloc]initWithItems:[NSArray arrayWithObject:@"OK"] ];
    closeButton.momentary = YES;
    closeButton.frame=CGRectMake(260, 7.0f, 50.0f, 30.0f);
    closeButton.segmentedControlStyle =UISegmentedControlStyleBar;
    closeButton.tintColor = [UIColor blackColor];
    [closeButton addTarget:self action:@selector(closePicker) forControlEvents:UIControlEventValueChanged];
    [pickerAction addSubview:closeButton];

    [pickerAction showInView:self.view];
    [pickerAction setBounds:CGRectMake(0, 0, 320, 464)];

Мысли?


person Spencer Cole    schedule 08.12.2011    source источник


Ответы (1)


Я исправил это, запустив локальные переменные и загрузив их все, используя один и тот же класс. Я вытащил эти переменные с помощью XML и сделал их при загрузке средства выбора.

person Spencer Cole    schedule 29.05.2012