UIPICKERVIEW 根据所选行显示不同的数据

UIPICKERVIEW with different data to be displayed according to the row selected

我已附上我的代码供您参考。我可以在 Pickerview 中显示数据,因为我更改了数据相应更改的行,但是 select 从选择器编辑的数据没有显示在 UITextfield 中。如果我 select Pickerview 中的任何选项,我在 uitextfield 中看不到任何文本,如果我 select 它仍然显示空白文本字段。

import UIKit

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate {

    @IBOutlet weak var textfield1: UITextField!

    @IBOutlet weak var textfield2: UITextField!



    var x = 0

    let leaguepickerview_destination = UIPickerView()
    let clubpickerview_denomination = UIPickerView()

    let league_destination = ["India","Europe","Australia","New Zealand","USA & Rest of the World"]
    let club_denomination = [[" Rs.500","Rs.1000","Rs.1500","Rs.2000","Rs.2500","Rs.3000","Rs.3500","Rs.4000","Rs.4500","Rs.5000"],["100","150","200","250","300","350","400","450","500"],["100","150","200","250","300","350","400","450","500"],["100","150","200","250","300","350","400","450","500"],["100","150","200","250","300","350","400","450","500"]]

    override func viewDidLoad() {
        super.viewDidLoad()

        leaguepickerview_destination.delegate = self
        leaguepickerview_destination.dataSource = self

        clubpickerview_denomination.delegate = self
        clubpickerview_denomination.dataSource = self

        textfield1.inputView = leaguepickerview_destination
        textfield2.inputView = clubpickerview_denomination


        textfield1.delegate = self
        textfield2.delegate = self


    }

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

        return 1

    }

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {

        switch (pickerView){
        case leaguepickerview_destination:
            return league_destination.count
        case clubpickerview_denomination:
            return club_denomination[x].count
        default:
            return 0
        }
    }

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        switch (pickerView){
        case leaguepickerview_destination:
            return league_destination[row]
        case clubpickerview_denomination:
            return club_denomination[x][row]
        default:
            return "an error occurred"
        }
    }

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

        if (pickerView == leaguepickerview_destination) {
            x = row
            clubpickerview_denomination.reloadAllComponents()
        }

    }

}

您需要设置文本框文本

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

    if (pickerView == leaguepickerview_destination) {
       x = row
       clubpickerview_denomination.reloadAllComponents()
       textfield1.text = league_destination[row]
    }
    else {
       textfield2.text =  club_denomination[x][row]
    }
}