swift read write для документов и коллекций пожарного магазина - PullRequest
0 голосов
/ 26 мая 2019

из приложения IOS. Я пытаюсь обновить данные 5 различными «коллекциями» в Firestore.Я могу сделать это, но только для 1 коллекции.Я не могу понять, как отправить обновления для всех 5 коллекций одновременно.Любая помощь очень ценится.

import UIKit
import Firebase

class itemDataViewController: UIViewController {

    @IBOutlet var itemLabels: [UILabel]!
    @IBOutlet weak var testLabel: UILabel!

    @IBOutlet weak var firstItemField: UITextField!
    @IBOutlet weak var secondItemField: UITextField!
    @IBOutlet weak var thirdItemField: UITextField!
    @IBOutlet weak var fourthItemField: UITextField!
    @IBOutlet weak var fithItemField: UITextView!

    var docRef: DocumentReference!
    var infoListener: ListenerRegistration!

    @IBAction func updateData(_ sender: Any) {
        guard let firstItemText = firstItemField.text, !firstItemText.isEmpty else { return }
        guard let secondItemText = secondItemField.text, !secondItemText.isEmpty else { return }
        guard let thirdItemText = thirdItemField.text, !thirdItemText.isEmpty else { return }
        guard let fourthItemText = fourthItemField.text, !fourthItemText.isEmpty else { return }
        guard let fithItemText = fithItemField.text, !fithItemText.isEmpty else { return }


        let dataToSave: [String: Any] = ["firstItem": firstItemText]
        docRef.setData(dataToSave) { (error) in
            if let error = error {
                print("Oh no! Could not save: \(error.localizedDescription)")
            } else {
                print("Data Saved")
          }
        }
       }
   override func viewWillAppear(_ animated: Bool) {
            super.viewWillAppear(animated)
            infoListener = docRef.addSnapshotListener { (docSnapshot, error) in
                guard let docSnapshot = docSnapshot, docSnapshot.exists else { return }
                let myData = docSnapshot.data()
                let firstItemUpdate = myData?["firstItem"] as? String ?? ""
                self.firstItemField.text = "\(firstItemUpdate)"
            }
           }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillAppear(animated)
        infoListener.remove()
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        docRef = Firestore.firestore().document("2/firstItem")

    (itemLabels as NSArray).setValue(10, forKey: "cornerRadius")

        // Do any additional setup after loading the view.
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...