为什么视图控制器不符合UIPickerViewDataSource?
我已经检查了所有我能做的事情,以便从网络上调试它。
我已经为协议键入了所有必要的函数(Swift 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]
}
}
}发布于 2017-07-05 09:53:38
你的函数在viewDidLoad里面,把它们移到外面就行了
https://stackoverflow.com/questions/44909947
复制相似问题