错误:
类型'GearViewController‘不符合协议'UIPickerViewDataSource’
基于苹果文档,UIPickerViewDataSource只需要两个必需的方法。这两者都包含在下面的代码中。我认为语法是正确的。(但很可能不是)
类/控件声明和init。(为了清晰起见,删除了许多其他代码。如果需要,我会编辑完整的代码。只是尽量保持简短。)
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
}发布于 2016-11-15 14:07:07
您实现的协议方法之一是错误的,该方法应该是:
func pickerView(UIPickerView, numberOfRowsInComponent: Int) {
//Your implementation here
}您已经将该方法实现为
func pickerGearCategory(pickerGearCategory: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
//Your implementation
}更正一下,你就可以走了。
发布于 2016-11-15 14:06:47
numberOfComponents在那里,但pickerView在哪里?
发布于 2016-11-15 14:07:28
只需添加func pickerView(UIPickerView, numberOfRowsInComponent: Int)函数
https://stackoverflow.com/questions/40611758
复制相似问题