2017-07-04 14 views
1

はなぜビューコントローラはUIPickerViewDataSourceを準拠していませんか?プロトコルに「UIPickerViewDataSource」を準拠していない

私はウェブからそれをデバッグするために行うことができるすべてをチェックしています。

私は、プロトコル(スウィフト3.1)のためではなく、無駄に必要なすべての機能を入力しました。ここで

は私のコードです:

class SelectClassViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource { 
    let grades = ["7", "8", "9", "10", "11", "12"] 

    var selectCurrentGrade : String? = nil 

    @IBOutlet weak var Grade: UIPickerView! 

    @IBAction func Next(_ sender: Any) { 
     if selectCurrentGrade != nil { 
      performSegue(withIdentifier: "GradeToClass", sender: self) 
     } 
    } 

    @IBAction func Back(_ sender: Any) { 
     performSegue(withIdentifier: "GradeToMain", sender: self) 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

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

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

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

     func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
      selectCurrentGrade = grades[row] 
     } 
    } 
} 

答えて

0

あなたの関数は、viewDidLoadの内側にある外それらを移動し、それが

をうまくいきます
関連する問題