前提・実現したいこと
Firestoreにて、リスナーのFilter条件をユーザーの入力状況に応じて分岐させたいです。
該当のソースコードに記載したように、長々とif文で複数のリスナーを記載しないといけないのでしょうか。
それとも、リスナーを1つ用意して、リスナーのFilter条件だけを変更していくことが出来るのでしょうか。
また、もしも複数のリスナーを用意しないといけない場合、入力状況に合わせて不要なリスナーはデタッチしないといけない認識で合っていますか。
該当のソースコード
Swift
1let db = Firestore.firestore() 2let text1 = textField1.text 3let text2 = textField2.text 4 5 if text1 == "" || text2 == "" { 6 db.collection("recruit") 7 .addSnapshotListener { documentSnapshot, error in 8 .... 9 } 10 11 }else if text1 != "" || text2 == ""{ 12 db.collection("recruit") 13 .whereField("text1", isEqualTo: text1!) 14 .addSnapshotListener { documentSnapshot, error in 15 .... 16 } 17 18 }else if text1 == "" || text2 != ""{ 19 db.collection("recruit") 20 .whereField("text2", isEqualTo: text2!) 21 .addSnapshotListener { documentSnapshot, error in 22 .... 23 } 24 25 }else if text1 != "" || text2 != ""{ 26 db.collection("recruit") 27 .whereField("text1", isEqualTo: text1!) 28 .whereField("text2", isEqualTo: text2!) 29 .addSnapshotListener { documentSnapshot, error in 30 .... 31 } 32 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。