Swift 从 firebase 实时数据库获取数据 [重复]

Swift get data from firebase realtime database [duplicate]

提问人:cici 提问时间:10/24/2023 最后编辑:Frank van Puffelencici 更新时间:10/24/2023 访问量:20

问:

我是 swift 应用程序开发的初学者,我想根据 firebase 实时数据库中的电子邮件获取用户名,但它一直说用户名为零,即使正确的电子邮件下确实存在用户名。谁能帮我解决这个问题?非常感谢!🙏

这是getUsername函数,我尝试打印一些值,但没有打印任何值:

public func getUsername(forEmail email: String) -> String? {
    let databaseRef = Database.database().reference()
    var foundUsername: String?
    
    databaseRef.observeSingleEvent(of: .value) { (snapshot) in
        if let topLevelDict = snapshot.value as? [String: [String: String]] {
            print("Top-level dictionary: \(topLevelDict)")
            for (key, value) in topLevelDict {
                           if let username = value["username"] {
                               print("Email: \(key), Username: \(username)")
                           }
                       }
            for (key, value) in topLevelDict {
                print(key)
                if email == key {
                    if let username = value["username"] {
                        foundUsername = username 
                    }
                    print("!!"+(foundUsername ?? "not")!)
                    break // Exit the loop after finding the email
                }
            }
        }
    }

    return foundUsername
}

这是数据库的样子:firebase realtime database

iOS Swift Firebase-实时数据库

评论

0赞 Joakim Danielson 10/24/2023
您将在完成对 Firebase 的调用之前从该函数返回。有关解决方案,请参阅上面的链接问题。foundUsername

答: 暂无答案