1
私は多くの検索を行っていますが、私の問題を解決できませんでした。 これはスウィフトの私の最初の年です。私は私が正しい場所に私の機能を配置していないよ感じているiOS - エラータイプ 'ViewController'がプロトコル '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.
}
:
は、ここに私のコードです。 スウィフト3については
をあなたはスウィフト3を使用していますか?もしそうなら、メソッドの名前が変更されました。 http://stackoverflow.com/questions/39933644/xcode-8-swift-3-simple-uipicker-code-not-working – vikingosegundo
簡単で素早いdo-it-yourselfソリューション:⇧⌘0(ゼロ)を押し、 UIPickerViewDataSource'(後で他のメソッドの 'UIPickerViewDelegate')を選択し、' Swift'を選択し、returnを押して署名を参照します。 – vadian
ありがとう、vikingosegundo、そのポストは私の問題を解決しました。私はswift 2.3から3に更新されたことを知らなかった(私は学校のMacを使っている)。 – Michael