Данные массива не видны в окне выбора - PullRequest
0 голосов
/ 10 июля 2019

У меня есть данные массива для отображения на UIPickerView, но данные не отображаются в окне выбора. Мой код:

@IBOutlet var txt: UITextField!
let PickerView = UIPickerView()
override func viewDidLoad() {
  super.viewDidLoad()
        Json()
        txt.inputView = PickerView
        PickerView.delegate = self
        PickerView.dataSource = self
        // Do any additional setup after loading the view.
    }
   func Json()
    {
      { (response, error) in
            if response != nil
            {

                let Value = response!["data"] as! [[String:Any]]
                for dic in dataDict
                {

                    if let job = dic["Jobs"] as? String
                    {
                        print(job)
                        self.array.append(job)
                        print(self.array)
                    }

                }

            }

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

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return array.count
    }
    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        txt.text = array[row]
    }
    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return array[row]
    }

Почему это происходит, есть ли способ это исправить?

1 Ответ

0 голосов
/ 10 июля 2019
    txt.inputView = PickerView
    PickerView.delegate = self
    PickerView.dataSource = self
    Json()

Пожалуйста, перезагрузите picker.reloadAllComponent() в ответ

...