В настоящее время я разрабатываю приложение для iOS с облачным пожарным хранилищем Google в качестве бэкэнда, и я использую несколько слушателей, чтобы узнать, обновляются ли данные, и затем соответствующим образом отправляю их на мое устройство.Я написал эту функцию, которая прослушивает значение, если оно истинно или нет, и в соответствии с этим обновит анимацию в моем приложении.Проблема в том, что я не знаю, правильно ли я написал и не хочу выполнять ненужные операции чтения из моей базы данных, если мне не нужно.
func dingAnimation() {
let identifier = tempDic![kBOUNDIDENTIFIER] as! String
if identifier != "" {
dingListener = reference(.attention).document(identifier).addSnapshotListener({ (snapshot, error) in
if error != nil {
SVProgressHUD.showError(withStatus: error!.localizedDescription)
return
}
guard let snapshot = snapshot else { return }
let data = snapshot.data() as! NSDictionary
for dat in data {
let currentId = FUser.currentId() as! String
let string = dat.key as! String
if string == currentId {
} else {
let value = dat.value as! Bool
self.shouldAnimate = value
self.animateImage()
}
}
})
}
}