在 TextEditor 上显示 UIPickerView 值的问题 swift

Problem on displaying UIPickerView value on TextEditor swift

我在显示从 UITextField 上的 UIPickerView 中选择的值时遇到问题。我添加了所有必需的功能以使其工作,但文本字段没有更新。

这是ViewController.swift代码

@IBOutlet weak var requestDestination: UITextField!

var itemSelected : String?
var pickerData = ["Bollate" , "Baranzate" , "Garbagnate" , "Novate Milanese" , "Paderno Dugnano" , "Certosa"]

override func viewDidLoad() {
    super.viewDidLoad()

    let thePicker = UIPickerView()
    thePicker.delegate = self
    thePicker.dataSource = self

    requestDestination.inputView = thePicker

    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard (_:)))
    self.view.addGestureRecognizer(tapGesture)
}

func numberOfComponents(in 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]
}

private func pickerView( pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    itemSelected = pickerData[row]
    requestDestination.text = itemSelected
}

@objc func dismissKeyboard (_ sender: UITapGestureRecognizer) {
    requestDestination.resignFirstResponder()
}

我附上了一张屏幕截图,其中显示了第一个未从 PickerView 获取值的 TextEdit。

您的 didSelectRow 签名错误,所以它永远不会被调用。您错过了 _。让 Xcode 为您完成方法,而不是尝试自己键入它们。

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