带有用户名字符串的Firebase问题

问题描述 投票:0回答:1
        if let user = Auth.auth().currentUser {
        post.setUID(uid: user.uid)

        //

        let findUserName = Database.database().reference().child("users").child(user.uid)
        findUserName.observeSingleEvent(of: .value, with: { (snapshot) in
            let dictionary = snapshot.value as? [String: AnyObject]
            let theUserName = dictionary?["username"] as? String ?? ""

        })
        print("test:", theUserName) <-- unresolved identifier
        //post.setPostUserName(username: theUserName)
    }

我从用户处提取了用户名字段,并收到错误“未解析的标识符”。

swift firebase
1个回答
0
投票

您在闭包内创建了theUserName。您不能在封闭之外访问它。将print("test:", theUserName)放在observeSingleEvent({})内,如下所示

findUserName.observeSingleEvent(of: .value, with: { (snapshot) in
            let dictionary = snapshot.value as? [String: AnyObject]
            let theUserName = dictionary?["username"] as? String ?? ""
            print("test:", theUserName)
        })
© www.soinside.com 2019 - 2024. All rights reserved.