Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIPickerViewDelegate Xcode 8 Swift 3

My code is:

class ViewController: UIViewController,UIPickerViewDelegate, UIPickerViewDataSource {
    @IBOutlet weak var picherview: UIPickerView!

    var prodotti = ["AAAAA", "VVVV", "CCCC"]

    override func viewDidLoad() {
        super.viewDidLoad()
        self.picherview.dataSource = self
        self.picherview.delegate = 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.
    }

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

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

    func pickerview( _ : UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
        return prodotti[row]
    }     //ci consente di determinare quale riga è stata selezionata

    func pickerview(_ : UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        print("Hai selezionato: \(prodotti[row])")}
    }

This code have error:

Type 'ViewController' does not conform to protocol 'UIPickerViewDataSource'

Any solution?

like image 753
Antonello Bonaita Avatar asked Nov 21 '25 08:11

Antonello Bonaita


1 Answers

Correct syntax of PickerView Swift 3

// DataSource
func numberOfComponents(in pickerView: UIPickerView) -> Int {

}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {

}

// Delegate

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

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

}
like image 111
Rob Avatar answered Nov 22 '25 22:11

Rob