Заголовок говорит, что у меня действительно есть метод, который вызывается для создания UIPickerView и в том же контроллере представления, что и методы делегата. -Контроллер реализует протоколы, UIPickerViewDataSource и UIPickerViewDelegateНевозможно вызвать методы делегатов UIPickerView, хотя делегат был установлен после [[UIPickerView alloc] init]
// ViewController.m
- (void)setUpPickerView{
UIPickerView *pickerView = [[UIPickerView alloc] init];
pickerView.dataSource = self;
pickerView.delegate = self;
pickerView.showsSelectionIndicator=YES;
self.groupsTextField.inputView = pickerView;
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return [self.pickerViewData count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
return self.pickerViewData[row];
}
Я видел много ответов, где люди говорят, что если pickerView: numberOfRowsInComponent: компонент возвращает 0 это остановит другие методы делегата от называют, но это не так для меня, когда я устанавливаю точки останова, ни один из методов делегата не вызывается вообще.
Заранее благодарим за помощь!
у вас установлен протокол делегата в файле .h –
да @interface StudentShareListVC: EmbeddedVC инициализируется –
Ваш 'self.groupTextField'? –