За исключением приведенного ниже кода, в UIPickerView
n значения принимаются с помощью вызова покоя с удаленного сервера. Но значения не отображаются в UIPickerView
. Я проверил, что значения загружаются правильно вызовом rest, но они не отображаются в UIPickerView
, как я могу продолжить?
Вид:
self.TipologiaUIPicker = UIPickerView(frame: CGRect(x: (self.view.frame.width / 2) - 70, y: 300, width: 200, height: 50))
self.TipologiaUIPicker.delegate = self
self.TipologiaUIPicker.dataSource = self
//self.TipologiaUIPicker.tag=1
self.TipologiaUIPicker.backgroundColor = UIColor.white
let atemp = ArticoloCantiere(Cantiere: CantiereInterno)
atemp.CaricaTipologieArticoli(completion: { result in
self.TipologiaLoad = result
self.TipologiaUIPicker.reloadAllComponents()
});
//Error: index out of range
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
// print("\n TipologiaLoad[row].IdUtente \(TipologiaLoad[row].IdTipologiaPreventivo!)")
DispatchQueue.main.async {
self.IdTipologia = Int(self.TipologiaLoad[row].IdTipologiaPreventivo)!
}
// print("\n TipologiaLoad[row].NomeTipologia \(TipologiaLoad[row].NomeTipologia!)")
}
Модель:
func CaricaTipologieArticoli(completion: @escaping ([TipologiaStruct]) -> Void) {
DispatchQueue.global(qos: .userInteractive).async {
let articolo_temp = ArticoloModel()
articolo_temp.CaricaTipologia(completion: {
result in
completion(result)
})
}
}
Контроллер:
func CaricaTipologia(completion: @escaping ([TipologiaStruct]) -> ()) {
let jsonrequest = JSON()
let jsonarray: [String: Any] = [:]
jsonrequest.GetArray(Tipo: "TipologiaStruct", Router: "/preventivo/caricatipologie", ValueArray: jsonarray, completion: { result in
completion(result as! [TipologiaStruct])
})
}