从 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 获取用户名的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 获取本地用户或当前用户的用户名?

从 Firebase 获取随机用户

如何从 Firebase 获取特定用户的用户名?

如何从firebase获取用户名和全名的字符串列表?

从登录用户 Flutter/Firebase 获取文档列表

从firebase获取用户数据?