Ich benutze die Xcode 8 und schnelle 2.3, aber ich traf ein Problem der UIPickerView.dataSource = (self as! UIPickerViewDataSource)
funktioniert nicht zu verwenden, wenn ich func von UIPicker
zu verwenden versuchen, dies ist mein Code:wie UIPicker datasource
import UIKit
class ViewController: UIViewController {
let Num = ["1","2","3","4","5","6"]
@IBOutlet weak var UIPicker: UIPickerView!
override func viewDidLoad() {
super.viewDidLoad()
func numberOfRows(inComponent component: Int) -> Int {return 1}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {return Num.count}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {return Num[row]}
UIPicker.dataSource = (self as! UIPickerViewDataSource)
UIPicker.delegate = (self as! UIPickerViewDelegate)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Wenn ich betreibe meinen Code, Warn Xcode den Code:
nicht Wert vom Typ werfen konnte 'test.ViewController' (0x1000bd8c0) zu 'UIPickerViewDataSource' (0x1ab289738). 2016-06-29 15: 33: 35.079300 test [474: 98176] Konnte den Wert des Typs 'test.ViewController' (0x1000bd8c0) nicht in 'UIPickerViewDataSource' (0x1ab289738) umwandeln.
Ihre Klasse entspricht nicht dem Protokoll, das scheint hier ein klarer Fall zu sein. – holex