【问题标题】:Firebase: How to get User.uid?Firebase:如何获取 User.uid?
【发布时间】:2017-11-07 13:41:48
【问题描述】:

我正在使用 Firebaseauth 来管理我的 iOS 应用的用户和数据。用户可以登录,并且他们的用户信息正确存储在数据库中。 但是当我尝试让用户在不同的 viewController 中写入数据库时​​,使用这个字符串:

self.ref.child("users").child(user.uid).setValue(["username": username])

抛出的错误是

类型用户没有成员.uid

我想这是有道理的,因为我还没有创建变量。但是不知道怎么申报?

【问题讨论】:

  • 您应该将信息传递给下一个视图控制器。 This 会有所帮助

标签: swift firebase firebase-authentication uid


【解决方案1】:

这是您获取用户 uid 的方式:

let userID = Auth.auth().currentUser!.uid

更新:由于这个答案得到了赞成,请确保您使用guards 防止您的应用崩溃:

guard let userID = Auth.auth().currentUser?.uid else { return }

【讨论】:

  • 强制展开可能会使您的应用程序崩溃。查看 Victor 的回答,了解如何防止这种情况发生。
【解决方案2】:

您可能需要使用保护,因为如果用户未登录,强制展开可能会破坏您的应用。

guard let userID = Auth.auth().currentUser?.uid else { return }

【讨论】:

    【解决方案3】:

    FIRAuth 实际上已重命名为 Auth。所以,根据最新的变化,它将是

    let userID = Auth.auth().currentUser!.uid
    

    编辑。

    正如 cmets 中指出的,强制展开可能会使应用程序崩溃。

    guard let userID = Auth.auth().currentUser?.uid else { return }
    

    【讨论】:

    • 强制展开可能会使您的应用程序崩溃。查看 Victor 的回答,了解如何防止这种情况发生。
    猜你喜欢
    • 1970-01-01
    • 2021-10-04
    • 2017-04-03
    • 2019-05-28
    • 1970-01-01
    • 2017-12-01
    • 2020-05-11
    • 2016-12-20
    • 2022-01-13
    相关资源
    最近更新 更多