Firebase iOS - 从其他视图控制器访问用户对象
Posted
技术标签:
【中文标题】Firebase iOS - 从其他视图控制器访问用户对象【英文标题】:Firebase iOS - access user object from other view controller 【发布时间】:2017-09-30 17:01:54 【问题描述】:我有两个视图控制器,一个是用户自己注册(电子邮件、密码)到应用程序的地方,另一个是他可以选择用户名的地方,我设法让第一个视图控制器与 Firebase 一起工作,这意味着我的用户已通过身份验证,我设法将他的电子邮件地址输入实时数据库,但我在将他选择的用户名更新到数据库时遇到问题,我试过这个:
self.ref.child("Users").child(user.uid).setValue(["username": usernameTextfield.text])
我认为这不起作用,因为我的视图控制器不知道对象用户。有人可以告诉我该怎么做。谢谢
【问题讨论】:
【参考方案1】:如果您在第一个视图控制器的上下文中创建了一个 user
对象,那么您是对的,您将无法从第二个视图控制器访问它。
但是,您可以通过调用 Auth.auth().currentUser
在第二个视图控制器上重新创建此 user
对象,如下所示:
if let user = Auth.auth().currentUser
// use the user object here
self.ref.child("Users").child(user.uid).setValue(["username": usernameTextfield.text])
else
print("no user is logged in")
【讨论】:
嗨布拉德利,我自己设法做到了,但这也是我找到的解决方案。谢谢以上是关于Firebase iOS - 从其他视图控制器访问用户对象的主要内容,如果未能解决你的问题,请参考以下文章
将 Firebase 数据从一个视图控制器传递到详细视图控制器