Ios ? 尝试将数据源加载到UIPickerView时返回
我试图将1-15加载到选择器视图中,但我的代码返回15个问号。我在下面的代码中做错了什么?我遵循了指南,但这似乎不起作用。这一定是一件小事,我必须调整才能使它发挥作用Ios ? 尝试将数据源加载到UIPickerView时返回,ios,swift,xcode,uipickerview,Ios,Swift,Xcode,Uipickerview,我试图将1-15加载到选择器视图中,但我的代码返回15个问号。我在下面的代码中做错了什么?我遵循了指南,但这似乎不起作用。这一定是一件小事,我必须调整才能使它发挥作用 class NewDaySplitViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource { @IBOutlet weak var picker: UIPickerView! var pickerData: [String]
class NewDaySplitViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet weak var picker: UIPickerView!
var pickerData: [String] = [String]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.picker.delegate = self
self.picker.dataSource = self
pickerData = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"]
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return pickerData.count
}
// The data to return for the row and component (column) that's being passed in
private func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return pickerData[row]
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
您的委托方法
titleForRow
的签名不正确
尝试使用Xcode自动完成:
开始键入选择器
然后将出现一个列表:
选择titleForRow方法,按enter键并输入代码,如:
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return pickerData[row]
}
签名错误:
该方法不是私有的,并且您没有将
\u
作为第一个参数。在向pickerData添加值后,请像self.picker.reload()一样重新加载picker,然后查看结果happen@UsmanJavedUIPickerView没有成员“重新加载”使用值var pickerData:[字符串]=[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“11”初始化pickerData,“12”,“13”,“14”,“15”]视图外didloadI抱歉,请在设置pickerData数组后使用pickerview.reloadAllComponents()