gpt4 book ai didi

swift - 如何在另一个 UIViewController 中显示使用 Firebase 登录的用户名

转载 作者:行者123 更新时间:2023-11-30 10:54:30 26 4
gpt4 key购买 nike

我想在另一个 UIViewController 中显示我的 firabase 数据库中的用户名,但我不知道如何。现在名称是“test”,但这只是一个示例,因此如果其他用户登录我的应用程序,他们应该在屏幕上看到他的名字。

这是我的数据库设置:

exsample-bde49

users:

profile: oAPjqYRrO1NADm1i1YH1qK7FOk53
photoURL: "https://firebasestorage.googleapis.com/v0/b/exs..."


username: "test"

这里有我的 LoginViewController 和 handleSignIn 函数:

@objc func handleSignIn() {
guard let email = emailField.text else { return }
guard let pass = passwordField.text else { return }

setContinueButton(enabled: false)
continueButton.setTitle("", for: .normal)
activityView.startAnimating()

Auth.auth().signIn(withEmail: email, password: pass) { user, error in
if error == nil && user != nil {
self.dismiss(animated: false, completion: nil)
} else {
print("Error logging in: \(error!.localizedDescription)")

self.restforms()
}
}
}

这里有我的 HomeViewController 代码,我希望在其中显示用户名。

import Foundation
import UIKit
import Firebase

class HomeViewController:UIViewController {

@IBAction func nextViewButton(_ sender: Any) {

print("test press")

self.performSegue(withIdentifier:"seccondview", sender: self)

}

override func viewDidLoad() {
super.viewDidLoad()
}

@IBAction func handleLogout(_ sender:Any) {
try! Auth.auth().signOut()
self.dismiss(animated: false, completion: nil)
}


@IBAction func logout(_ sender: Any) {
try! Auth.auth().signOut()
self.dismiss(animated: false, completion: nil)

}

}

最佳答案

您应该在下一个 View Controller 中创建变量,然后在当前 nextViewController 之前设置它,您可以在执行任何 segue 时触发,如下代码

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "seccondview" {
if let nextViewController = segue.destination as? NextViewController {
nextViewController.userName = "userNameYouWantToPass"
}
}
}

关于swift - 如何在另一个 UIViewController 中显示使用 Firebase 登录的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54111327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com