Firebase:如何获取 User.uid?
Posted
技术标签:
【中文标题】Firebase:如何获取 User.uid?【英文标题】:Firebase: How to get User.uid? 【发布时间】:2017-11-07 13:41:48 【问题描述】:我正在使用 Firebaseauth 来管理我的 ios 应用的用户和数据。用户可以登录,并且他们的用户信息正确存储在数据库中。 但是当我尝试让用户在不同的 viewController 中写入数据库时,使用这个字符串:
self.ref.child("users").child(user.uid).setValue(["username": username])
抛出的错误是
类型用户没有成员.uid
我想这是有道理的,因为我还没有创建变量。但是不知道怎么申报?
【问题讨论】:
您应该将信息传递给下一个视图控制器。 This 会有所帮助 【参考方案1】:这是您获取用户 uid 的方式:
let userID = Auth.auth().currentUser!.uid
更新:由于这个答案得到了赞成,请确保您使用guard
s 防止您的应用崩溃:
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 的回答,了解如何防止这种情况发生。以上是关于Firebase:如何获取 User.uid?的主要内容,如果未能解决你的问题,请参考以下文章
如何删除用户点击按钮? - Firebase - Vue.js