【发布时间】:2023-03-31 10:00:02
【问题描述】:
我正在尝试创建一个函数,该函数在 Firebase 中获取给定用户 UID 的类别子键,将它们附加到一个数组中,然后最后将它们连接成一个长字符串。在observeSingleEvent 函数完成并且返回值为空之前,一切正常。这是我的代码:
let referenceDatabase = FIRDatabase.database().reference()
func fetchBuddyInfo(category: String, buddyId: String) -> String {
var buddyInterestsArray = [String]()
var buddyInterests = String()
referenceDatabase.child("Users").child(buddyId).child(category).observeSingleEvent(of: .value, with: { (categorySnap) in
for categoryItems in categorySnap.children.allObjects as! [FIRDataSnapshot] {
buddyInterestsArray.append(categoryItems.key)
}
buddyInterests = buddyInterestsArray.joined(separator: ",")
})
return buddyInterests
}
我认为它与 observeSingleEvent 函数的嵌套范围有关,因为 buddyInterests 在运行该函数后似乎失去了它的值,但我不知道如何提取该值。
【问题讨论】:
标签: arrays swift function firebase