I have array data to show on UIPickerView
, but data is not showing on picker view. My code:
@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]
}
Why is this happening, is there any way to fix this?
txt.inputView = PickerView
PickerView.delegate = self
PickerView.dataSource = self
Json()
please reload picker.reloadAllComponent()
in response