из приложения 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.
}
}