Я новичок в Swift и Firebase. Я хочу получить массивы String в виде значений массива. Это мое json дерево в базе данных.
И я попытался получить их с помощью класса (с именем UserInfoClass), который имеет снимок в качестве аргумента и получить их значение как [String]. Но я работал со следующими кодами, появилась необязательная ошибка nil.
func retriveData(){
refUserInfo = Database.database().reference().child("users")
refUserInfo.observe(.value) { (snapshot) in
let info = UserInfoClass.init(snapshot: snapshot)
//userInfo is [UserInfoClass]
self.userInfo.append(info!)
self.InfoTableView.reloadData()
}
}
Это «UserInfoClass».
init? (snapshot: DataSnapshot) {
guard let applyDict = snapshot.childSnapshot(forPath: "ApplyInfo").value as? [String: Any] else {return nil }
guard let peopleNum = applyDict["peopleNum"] as? Int else { return nil }
print("peopleNum: \(peopleNum)\n")
guard let payType = applyDict["payType"] as? [String] else { return nil }
print("payType:\(payType)\n")
guard let receiveType = applyDict["receiveType"] as? [String] else { return nil }
print("receiveType: \(receiveType)\n")
guard let furigana2 = applyDict["furigana2"] as? [String] else { return nil }
print("furigana2: \(furigana2)")
guard let prayman2 = applyDict["prayman2"] as? [String] else { return nil }
print("prayman2: \(prayman2)\n")
guard let furigana1 = applyDict["furigana1"] as? [String] else { return nil }
print("furigana1:\(furigana1)\n")
guard let prayman1 = applyDict["prayman1"] as? [String] else { return nil }
print("prayman1:\(prayman1)\n")
guard let prayType2 = applyDict["prayType2"] as? [String] else { return nil }
print("prayType2:\(prayType2)\n")
guard let prayType1 = applyDict["prayType1"] as? [String] else { return nil }
print("prayType1:\(prayType1)")
guard let moneySum = applyDict["moneySum"] as? [Int] else { return nil }
print("moneySum:\(moneySum)\n")
guard let fuda1Small = applyDict["fuda1S"] as? [String] else {return nil}
guard let fuda1Mid = applyDict["fuda1M"] as? [String] else {return nil}
guard let fuda1Large = applyDict["fuda1L"] as? [String] else {return nil}
guard let fuda3Small = applyDict["fuda3S"] as? [String] else {return nil}
guard let fuda3Mid = applyDict["fuda3M"] as? [String] else {return nil}
guard let fuda3Large = applyDict["fuda3L"] as? [String] else {return nil}
guard let fuda5Small = applyDict["fuda5S"] as? [String] else {return nil}
guard let fuda5Mid = applyDict["fuda5M"] as? [String] else {return nil}
guard let fuda5Large = applyDict["fuda5L"] as? [String] else {return nil}
Как я могу это сделать? Спасибо.