Предоставление имен пользователей пользователям с Firebase & Swift - PullRequest
0 голосов
/ 21 мая 2019

Я новичок в программировании, и сейчас я хочу дать своим пользователям имя пользователя и затем сохранить его в базе данных 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)
    }

    }

1 Ответ

1 голос
/ 21 мая 2019

В вашем журнале сбоев говорится: '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)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...