【发布时间】:2017-08-22 00:02:15
【问题描述】:
我一直在练习登录页面和创建 Firebase 帐户。我已成功注册用户并将用户保存在 firebase 中。现在,我试图在创建帐户时将名字和姓氏保存到用户 ID。我已经尝试查看其他 SO 答案,但似乎仍然无法使其正常工作。
我已经阅读了多个教程,并尝试了多次展开尝试,但一直遇到此错误。下面是我的视图控制器:
视图控制器
import UIKit
import Firebase
class ViewController: UIViewController {
var ref: DatabaseReference!
@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var firstNameField: UITextField!
@IBOutlet weak var lastNameField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
var ref = Database.database().reference()
}
@IBAction func createAccountTapped(_ sender: Any) {
if let email = emailTextField.text, let password = passwordTextField.text, let firstName = firstNameField.text, let lastName = lastNameField.text {
Auth.auth().createUser(withEmail: email, password: password ) { (user, error) in
// ...
if let firebaseError = error {
print(firebaseError.localizedDescription)
return
//add popup later
}
let userId = user!.uid
self.ref.child("users").child(userId).setValue(["firstName": firstName])
print("User registered in Firebase with a userId of " + user!.uid)
}
}
}
我哪里错了?我以为我正在用我的“如果让”解开顶部的变量。我也尝试单独强制解开它们,但仍然出现相同的错误。有点失落。
【问题讨论】:
-
哪一行出现错误?
-
@ColGraff 这是我的 Firebase 数据库参考行:self.ref.child("users").child(userId).setValue(["firstName": firstName])
-
也许是这个:
let userId = user!.uid -
导致错误的行中的“多次展开尝试”在哪里?
-
删除 viewDidLoad 中 'ref' 之前的 'var'