以前曾经问过这个问题,但我现在已经坚持了很长时间,没有研究能够解决我的问题。也许这是非常明显的事情,所以我提前道歉。
这是我的数据库:
- Users
- 6tZ7OMXa86XFo9auvke4dA4SPJX2 // this is the UID
- email: "billyjoe@gmail.com"
- name: "Billy Joe"
- points: "5" // -->> The value I want to retrieve.
Here is a pic if would like to see the actual database
我试图通过这样做来检索点数:
@IBOutlet weak var pointsTextField: UILabel!
var ref: DatabaseReference!
override func viewDidLoad() {
super.viewDidLoad()
let userID = Auth.auth().currentUser?.uid
userIdTextField.text = userID
ref = Database.database().reference().child("Users").child(userID!).child("points")
ref.observeSingleEvent(of: .value) {
(snapshot) in
if let points = snapshot.value as? Int {
self.pointsTextField.text = "\(points)"
}
}
我还尝试在" observeSingleEvent"之前添加子节点。并重组它,但我的标签总是回来没有5。 我测试了UID并且它是正确的。我有什么想法,我做错了什么?
由于
答案 0 :(得分:0)
您将点存储为String并将其作为Int
重新执行 if let points = snapshot.value as? String {
self.pointsTextField.text = "\(points)"
}