Резистор массива 1, массива 3 массива IM, и я в этом собираю.Я хочу нарисовать первый элемент этого массива.Но когда я делаю это, я получаю ошибку на практике.Как получить первые данные в окне выбора в текстовом поле?Я хочу напечатать текстовое поле для первых данных в окне выбора.Код не работает с этим состоянием.
Я получаю сообщение об ошибке в этой строке кода:
getDevice.text = gradePickerValues[0]
override func viewDidLoad() {
super.viewDidLoad()
GetDevice()
getDevice.text = gradePickerValues[0]
}
var picker = UIPickerView()
var gradePickerValues1 = [String]()
var gradePickerValues2 = [String]()
var gradePickerValues3 = [String]()
var gradePickerValues = [String]()
let multiplearray = DispatchGroup()
@objc func GetDevice() {
if !chipnumber.text!.isEmpty {
multiplearray.enter()
let ref = Database.database().reference().child(chipnumber.text!).child("titles").child("0").child("DeviceName")
ref.observeSingleEvent(of: .value, with: { (snapshot) in
//let value: NSDictionary = snapshot.value as! NSDictionary
let dic = snapshot.value as! String
self.gradePickerValues1 = [dic]
self.multiplearray.leave()
})
}
if !chipnumber2.text!.isEmpty {
multiplearray.enter()
let ref = Database.database().reference().child(chipnumber2.text!).child("titles").child("0").child("DeviceName")
ref.observeSingleEvent(of: .value, with: { (snapshot) in
//let value: NSDictionary = snapshot.value as! NSDictionary
let dic = snapshot.value as! String
self.gradePickerValues2 = [dic]
self.multiplearray.leave()
})
}
if !chipnumber3.text!.isEmpty {
multiplearray.enter()
let ref = Database.database().reference().child(chipnumber3.text!).child("titles").child("0").child("DeviceName")
ref.observeSingleEvent(of: .value, with: { (snapshot) in
let dic = snapshot.value as! String
self.gradePickerValues3 = [dic]
self.multiplearray.leave()
})
}
multiplearray.notify(queue:.main) {
self.gradePickerValues = self.gradePickerValues1 + self.gradePickerValues2 + self.gradePickerValues3
}
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int){
getDevice.text = gradePickerValues[row]
switch row {
case 0:
fetchDevies()
case 1:
fetchdevieschip2()
case 2:
fetchdevieschip3()
default: break
}
self.view.endEditing(true)
}