UIPickerView не подключается к источнику данных - PullRequest
0 голосов
/ 20 июня 2011

Так что мой UIPickerView не подключается к источнику данных.Я понятия не имею, ПОЧЕМУ.

Я создаю файл с UIPickerViewDelegate и UIPickerViewDataSource и правильно выполняю процедуру вызова UIPickerView при нажатии textField.

PickerView работает, но не показывает какой-либо компонент.Я реализовал

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

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component 



- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 


- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 


- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{

Есть идеи, почему pickerView не подключается к источнику данных?Я также попробовал NSLogging внутри всех этих методов.// Does not print

Я также установил

packSizePopPickerView.delegate = self;
packSizePopPickerView.dataSource = self;
packSizePopPickerView = [[UIPickerView alloc] init];

Ответы [ 2 ]

1 голос
/ 20 июня 2011

В cellForRowAtIndexPath вы устанавливаете dataSource / делегат packSizePopPickerView, а затем выделяете / инициализируете packSizePopPickerView для нового UIPickerView.NEW UIPickerView больше не имеет своего делегата / источника данных.

Это НЕПРАВИЛЬНО:

packSizePopPickerView.delegate = self;
packSizePopPickerView.dataSource = self;
packSizePopPickerView = [[UIPickerView alloc] init];

Попробуйте это:

packSizePopPickerView = [[UIPickerView alloc] init];
packSizePopPickerView.delegate = self;
packSizePopPickerView.dataSource = self;
0 голосов
/ 20 июня 2011

Вы должны явно указать сборщику, каковы его источники данных и делегаты.

myPicker.delegate = someController; myPicker.datasource = someController;

...