从 firebase xcode 获取用户名
Posted
技术标签:
【中文标题】从 firebase xcode 获取用户名【英文标题】:get user name from firebase xcode 【发布时间】:2021-02-28 08:10:58 【问题描述】:试图从 firebase 获取用户名,然后显示在标签上。 有什么帮助吗? 这是代码示例。
import Firebase
class HomeViewController: UIViewController
@IBOutlet weak var userName: UILabel!
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
func getUserName(_ message:String)
let uid = Auth.auth().currentUser?.uid
Database.database().reference().child("users").child(uid!).observeSingleEvent(of: .value, with: (snapshot) in
if let dictionary = snapshot.value as? [String: AnyObject]
self.userName.text = dictionary["firstname"] as? String
)
【问题讨论】:
您能否编辑您的问题以在users
显示 JSON(作为文本,请不要截图)?您可以通过单击Firebase Database console 上溢出菜单 (⠇) 中的“导出 JSON”链接来获取此信息。
只能在实时数据库下找到一个json文件,这就是它所说的:null
【参考方案1】:
user.displayName
在 firebase 文档中
【讨论】:
【参考方案2】:斯威夫特
let currentUserName = Auth.auth().currentUser?.displayName
print(currentUserName)
【讨论】:
用户需要添加“dispalyName”,然后上面的代码工作。 "createProfileChangeRequest()" 这是我所做的,但仍然无法正常工作。 '导入 SwiftUI 导入 UIKit 导入 Firebase 类 HomeViewController: UIViewController @IBOutlet weak var userName: UILabel! override func viewDidLoad() super.viewDidLoad() // 加载视图后做任何额外的设置。 func displayUserName() let currentUserName = Auth.auth().currentUser?.displayName self.userName.text = currentUserName! '【参考方案3】:您必须尝试此代码...(身份验证后,您必须使用下面提到的代码在移动应用程序内创建显示名称(“名字+姓氏”))
if let currentUser = Auth.auth().currentUser
let changeRequest = currentUser.createProfileChangeRequest()
changeRequest.displayName = "Firstname" + "Lastname"
changeRequest.commitChanges(completion: (error) in
if let error = error
print("--> firebase user display name error:- ", error)
)
完成这段代码后,我们得到了当前用户的显示名。
【讨论】:
以上是关于从 firebase xcode 获取用户名的主要内容,如果未能解决你的问题,请参考以下文章