当前,我正在开发一个应用程序,其中包含许多用户输入,每个UIViewController上都采用UISliders,UIPickers等形式。我目前正在使用Firebase Firestore作为数据库。
我想知道在视图消失时而不是每次用户与UISlider进行交互时,将我的数据更新到数据库是否是一个逻辑主意。
这将极大地减少对数据库的写入数量,这是完美的!但是我想知道这样做是否有任何弊端(例如丢失数据)?非常感谢您的帮助,非常感谢!
目前,我的代码中有许多看起来像这样的函数:
@objc func sliderChange(sender: UISlider) {
let currentValue = Int(sender.value)
let row = sender.tag
self.italyMoney = currentValue
let userRef = db.collection("Users").document(user!)
userRef.collection("Destinations").document("Italy").updateData(["money" : currentValue]) {
error in
if let error = error {
print("Error adding document: \(error.localizedDescription)")
} else {
}
}
确定此代码可以完成相同的工作吗?
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(true)
let userRef = db.collection("Users").document(user!)
userRef.collection("Destinations").document("Italy").updateData(["money" : italyMoney]) {
error in
if let error = error {
print("Error adding document: \(error.localizedDescription)")
} else {
}
}
}