我正在尝试在下表中的tableView上显示关注者的用户名。它以前只是在作为user.uid起作用,所以我向函数跟随器(下半部分)添加了代码,但是tableView上没有任何显示。在调试时,我注意到“用户名”数组的值为nil,但应该有一个非null的值。不知道出什么问题了。
static func followers(for user: User, completion: @escaping ([String]) -> Void) {
var usernames = [String]()
let followersRef = Database.database().reference().child(Constants.Reference.followers).child(user.uid)
followersRef.observeSingleEvent(of: .value, with: { (snapshot) in
guard let followersDict = snapshot.value as? [String : Bool] else {
return completion([])
}
let followersKeys = Array(followersDict.keys)
for follower in followersKeys {
let ref2 = Database.database().reference().child("users").child(follower)
ref2.observeSingleEvent(of: .value, with: { (snapshot) in
guard let usernameDict = snapshot.value as? [String: Any?] else {
return completion([])
}
usernames.append(usernameDict["username"] as! String)
})
}
completion(usernames)
})
}
}
Firebase数据库
表格