繁体   English   中英

iOS - 错误类型'ViewController'不符合协议'UIPickerViewDataSource'

[英]iOS - Error Type 'ViewController' does not conform to protocol 'UIPickerViewDataSource'

我做了很多搜索,但我找不到解决问题的方法。 这是斯威夫特的第一年,所以请不要“太高级”。

这是我的代码:

class SecondViewController: UIViewController, UITextFieldDelegate, UIPickerViewDataSource, UIPickerViewDelegate {
    // Properties
    @IBOutlet weak var name_tf: UITextField!
    @IBOutlet weak var artist_tf: UITextField!
    @IBOutlet weak var sort_pkr: UIPickerView!
    @IBOutlet weak var sort_lbl: UILabel!
    @IBOutlet weak var sorted_lbl: UILabel!
    @IBOutlet weak var next_lbl: UILabel!

    let pickerData = ["Song name","Artist"]

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
        return 1
    }

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return pickerData.count
    }

    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return pickerData[row]
    }

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        sort_lbl.text = pickerData[row]
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        let pickerView = UIPickerView()
        pickerView.delegate = self
        pickerView.dataSource = self
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

我有一种感觉,我没有把我的功能放在正确的位置。

对于Swift 3 ,请使用以下函数:

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {

   }
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

   }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM