#ios #swift #firebase #google-cloud-firestore
#iOS #swift #firebase #google-облако-firestore
Вопрос:
Я не могу вызвать snapshot.documentChanges
addSnapshotListener
В нем говорилось Value of type 'DocumentSnapshot' has no member 'documentChanges'
Xcode 10.2, Swift 5, Firestore 5.10.0 и более подробная информация о других библиотеках приведена ниже
fileprivate func setupSnapshotListener() {
let coupleId = "B9C950640E1B3740E98ACB93E669C65766F6670DD1609BA91FF41052BA48C6F3"
let ref = Firestore.firestore().collection("couples").document(coupleId).collection("vibrations").document("vibrationStatus")
ref.addSnapshotListener { (querySnapshot, err) in
guard let snapshot = querySnapshot else {
print(err)
return
}
snapshot.documentChanges.forEach { diff in
if (diff.type == .added) {
print("New city: (diff.document.data())")
}
if (diff.type == .modified) {
print("Modified city: (diff.document.data())")
}
if (diff.type == .removed) {
print("Removed city: (diff.document.data())")
}
}
}
}
Podfile
pod 'Firebase/Firestore’,’~>5.10.0’
pod 'Firebase/Auth’,’~>5.10.0’
pod 'Firebase/Storage’,’~>5.10.0’
pod 'Firebase/Core’
pod 'GoogleAppMeasurement', '~> 5.2.0'
pod 'JGProgressHUD','~>2.0.3'
pod 'GoogleUtilities'
Я ожидал использовать addListener
, как указано в документе Google Firebase, но я не могу позвонить documentChanges
!!
Комментарии:
1. Вы ссылаетесь на документ вместо выполнения запроса (как это делается в примере firestore на их веб-сайте). Вот почему вы получаете значение типа ‘DocumentSnapshot’ не имеет члена ‘documentChanges’
2. @AchidFarooq Я не совсем понимаю, что вы имеете в виду. Какой пример запроса?
3. Нет проблем, запрос выглядит следующим образом -> Firestore.firestore().collection(«города»).whereField(«состояние», равнозначно: «CA») То, что у вас есть, выглядит так -> Firestore.firestore ().collection(«пары»).document(coupleId).коллекция («вибрации»).document («vibrationStatus») Вы специально ищете документ вместо выполнения запроса. В firestore есть разница в запросе () в DocumentReference ()
4. @AchidFarooq Большое вам спасибо!!! Это работает!! спасибо, брат
5. нет проблем, удачи!