我有协议:
class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
我有数据:
let muteForPickerData = ["minute(s)","hour(s)"]
In viewDidLoad
I have:
muteForPicker.delegate = self
muteForPicker.dataSource = self
然后我有所需的方法:
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return muteForPickerData.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return muteForPickerData[row]
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
}
我还是明白
类型 viewcontroller 不符合 UIPickerViewDataSource 协议
UIPickerViewDataSource
method numberOfComponentsInPickerView
在 Swift 3 中发生了这样的变化,这就是您收到此错误的原因。
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return muteForPickerData.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return muteForPickerData[row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
}
欲了解更多详细信息,请阅读苹果文档 https://developer.apple.com/reference/uikit/uipickerview on UIPickerView
.
Note:您还需要添加_
作为第一个参数标签与您中的其他方法相同UIPickerViewDelegate
方法就是titleForRow
and didSelectRow
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)