Запросить данные из Firebase и записать в UITextfield - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь получить данные из моего проекта firebase и записать значение поля в поле UITextfield. Кажется, я не могу понять, как правильно запрашивать данные, необходимые для UITextfields, из значений поля firebase.

Есть ли способ сделать это? Я видел только видео людей, добавляющих документы firebase в tableview, а не для прямого извлечения значения firebase в UITextfield.

Я пробовал:

  1. Переключение констант на экземпляры UITextfield Outlets и необязательное развертывание в виде текстовых полей let username = data[USERNAME] as? UITextField ?? "anonymous"

  2. Создание переменных UITextfields и равных данных массива коллекций. Так что что-то вроде ... let self.username = Userdata[0], но я продолжаю получать "ожидаемую ошибку шаблона"

Я знаю, что это может быть неподходящий синтаксис, но это первый раз, когда я кодировал и попытался создать приложение, но я не могу найти никакого руководства для этого сценария. Так что любая информация приветствуется, спасибо.

Вот что у меня есть ...

import UIKit

import FirebaseDatabase 
import Firebase

class ProfileVC: UIViewController {





@IBOutlet weak var userImage: UIImageView!
@IBOutlet weak var username: UITextField!
@IBOutlet weak var firstname: UITextField!
@IBOutlet weak var userEmail: UITextField!
@IBOutlet weak var lastname: UITextField!

@IBOutlet private weak var bgView: UIView!

//variables
private var Userdatas = [Userdata]()
private var usersCollectionRef: CollectionReference!



override func viewDidLoad() {
    super.viewDidLoad()
    
    usersCollectionRef = Firestore.firestore().collection(USERS_REF)
}



override func viewWillAppear(_ animated: Bool){
usersCollectionRef.getDocuments { (snapshot, error) in
    if let err = error {
        debugPrint("Error fetching docs: \(err) ")
    } else {
        guard let snap = snapshot else{return}
        for document in snap.documents {
            let data = document.data()
            let username = data[USERNAME] as? String ?? "anonymous"
            let firstname = data[FIRST_NAME] as? String ?? "Anonymous"
            let lastname = data[LAST_NAME] as? String ?? "Anonymous"
            let email = data[EMAIL] as? String ?? "Anonymous"
            let documentID = document.documentID
            
            let newuserData = Userdata(username: username, email: email, firstname: firstname, lastname: lastname, documentID: documentID)
    
            
        }
     
    }
}

       }

1 Ответ

0 голосов
/ 02 сентября 2020

@ spumquatss44 можете ли вы прислать мне свой код, потому что у меня возникли проблемы с тем же?

...