我是编程新手,现在我想给我的用户一个用户名,然后将其存储在Firebase实时数据库中。但是,每次运行代码时,它都会出现:
线程1:信号SIGABRT
我已经检查了所有@IB按钮等是否存在冲突,但是找不到任何东西。我想我已经写了可能过期的代码,所以我希望有人可以阐明我的情况并帮忙!
我认为这里有错误:
import UIKit
import Firebase
class HandlerViewController: UIViewController {
@IBOutlet weak var username: UITextField!
var user : AnyObject?
var ref = DatabaseReference()
override func viewDidLoad() {
super.viewDidLoad()
self.user = Auth.auth().currentUser
ref = Database.database().reference()
// Do any additional setup after loading the view.
}
@IBAction func joinHaps(_ sender: Any) {
ref.child("Usernames").childByAutoId().setValue(username)
self.performSegue(withIdentifier:"HomeScreenOne", sender: nil)
}
}
答案 0 :(得分:1)
在崩溃日志中说'InvalidFirebaseData', reason: '(setValue:) Cannot store object of type UITextField at
,
在这一行中您会遇到错误,因为setValue
无法接受UITextField
作为输入。
将代码更改为:
@IBAction func joinHaps(_ sender: Any) {
//username is UITextfield, you can fetch text from it using .text
ref.child("Usernames").childByAutoId().setValue(username.text ?? "")
self.performSegue(withIdentifier:"HomeScreenOne", sender: nil)
}