Firebase Cloud Firestoreで以下のコードを使用してデータを取得します。Firebase Firestore Swiftでドキュメントが使用できない
ボタンプレスはブール値を取得する必要があり、アプリケーションが別のビューコントローラーにナビゲートするいくつかの条件を満たす場合、最初のクリックでうまく動作しますが、戻って同じボタンを押しても結果は表示されませんもう一度フェッチしてください!
db.collection("users").document((Auth.auth().currentUser?.uid)!).getDocument { (snap, error) in
if error != nil {
print(error.debugDescription)
}
if snap != nil {
let isPosted = snap?.data()["isPosted"] as! Bool
let isStroe = snap?.data()["isStore"] as! Bool
if !isPosted && !isStroe {
print("first post")
let useraccountVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "newData") as! UINavigationController
self.present(useraccountVC, animated: true, completion: nil)
}else if isPosted && isStroe {
print("store")
let useraccountVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "newData") as! UINavigationController
self.present(useraccountVC, animated: true, completion: nil)
}else if !isPosted && isStroe{
print("store")
let useraccountVC = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "newData") as! UINavigationController
self.present(useraccountVC, animated: true, completion: nil)
}else{
print("cant post any more")
}
}
}
しかし、私の問題は、いくつかの機能を実行するにはブール値が必要です!サーバー側でデータが変更されていない場合でも、 –
データは常に返されます。ドキュメントが変更されておらず、30分以内にリクエストを繰り返す場合、クライアントが最新であることを検証するクエリに対しては料金がかかりません。 –