0
我正在嘗試創建一個創建12個結構對象(問題)並將它們放入數組(問題)的算法。但是,它似乎不起作用,因爲在Firebase的數據能夠修改它們之前創建對象。我試圖讓他們異步,但沒有我在網上找到的工作。提前致謝。用Firebase異步製作代碼
let databaseRef = FIRDatabase.database().reference()
databaseRef.child("NumberOfQuestions").observeSingleEvent(of: .value, with: { snapshot in
while self.questions.count < 12{
var question = questionMGR() //questionMGR is the name of my struct
let questionNumber = String(Int(arc4random_uniform(snapshot.value as! UInt32) + 1))
databaseRef.child("questions").child("questionNumber: " + questionNum).child("title").observeSingleEvent(of: .value, with: { snapshot in
print(snapshot.value ?? "")
question.title = (snapshot.value as? String)!
databaseRef.child("questions").child("questionNumber: " + questionNum).child("description").observeSingleEvent(of: .value, with: { snapshot in
print(snapshot.value ?? "")
question.desc = (snapshot.value as? String)!
})
})
self.questions.append(question)
}
})
感謝您的幫助,但我已經嘗試了第一個選項,它根本不工作。此外,第二個選項似乎很有前途,但我在第四和第五行出現錯誤「類型數據的值FIRDataSnapshot沒有成員子」。 – joshLor
對不起,我忘記了獲取快照的孩子的語法在iOS上比在其他平臺上有點不同。我更新了代碼。 –
還有一個問題是,如果周圍有一個while循環,則代碼不起作用。任何可能的解 – joshLor