Ошибка:Ошибка: Тип «GearViewController» не соответствует протоколу «» UIPickerViewDataSource
Type 'GearViewController' does not conform to protocol 'UIPickerViewDataSource'
На основе apple documentation есть только 2 необходимые методы для UIPickerViewDataSource. Оба включены в код ниже. Я думаю, что синтаксис правильный. (но, вероятно, нет)
Объявление класса/управления и инициализация. (Много другого кода для наглядности. Полный код доступен, если это необходимо, я буду править. Просто пытается остаться краток.)
class GearViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UIPickerViewDataSource, UIPickerViewDelegate{
@IBOutlet weak var pickerGearCategory: UIPickerView!
override func viewDidLoad() {
super.viewDidLoad()
pickerGearCategory.dataSource = self
pickerGearCategory.delegate = self
}
Делегат и источники данных
let gearCategoryPickerData = CategoryRepository.allCategories()
//MARK: CategoryPicker- Delegates and data sources
//MARK: CategoryPicker - Data Sources
//Required
func numberOfComponents(in pickerGearCategory: UIPickerView) -> Int {
return 1
}
//Required
func pickerGearCategory(pickerGearCategory: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return gearCategoryPickerData.count
}
func pickerGearCategory(pickerGearCategory: UIPickerView,titleForRow row: Int, forComponent component: Int) -> String? {
return gearCategoryPickerData[row].name
}
получил ошибку синтаксиса с этим и двумя другими ответами ниже. Требуется 'func pickerView (_: UIPickerView, numberOfRowsInComponent: Int) -> Int { return gearCategoryPickerData.count }' –
Выполнено с изменением, но нужно проверить правильность ожидаемых результатов и отправиться на настоящую работу. –
Спасибо, с одним изменением он работает как шарм. Еще лучше, он указал на еще одну проблему, которая была бы следующей статьей! –