2017-01-17 11 views
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

をあなたはスウィフト3を使用していますか?もしそうなら、メソッドの名前が変更されました。 http://stackoverflow.com/questions/39933644/xcode-8-swift-3-simple-uipicker-code-not-working – vikingosegundo

+0

簡単で素早いdo-it-yourselfソリューション:⇧⌘0(ゼロ)を押し、 UIPickerViewDataSource'(後で他のメソッドの 'UIPickerViewDelegate')を選択し、' Swift'を選択し、returnを押して署名を参照します。 – vadian

+0

ありがとう、vikingosegundo、そのポストは私の問題を解決しました。私はswift 2.3から3に更新されたことを知らなかった(私は学校のMacを使っている)。 – Michael

答えて

0

、これらの関数を使用します。

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

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

    } 
+0

ご協力ありがとうございます。 – Michael

関連する問題