0
以下のクエリを使って、以下のスナップショットを取得しています。同じ名前の子供たちの価値を得る - Firebase Swift3
dbRef.child("users").queryOrdered(byChild: "username").queryStarting(atValue: text).queryEnding(atValue: text+"\u{f8ff}").observe(.value, with: { snapshot in })
しかし、私は、彼らがすべて同じキー(「ユーザ名」)を持っているので(つまり法案、ビリー、billykinsを)子供「ユーザ名」の値を反復処理する方法を考え出すのトラブルを抱えています。私はすべての名前を抽出し、名前の配列に入れようとしています。
Snap (users) {
fDrzmwRUt2guh3O8pc792ipyEqA3 = {
username = bill;
};
qyQkIOxSpXgQoUoh0QNvPlkQ1Mp1 = {
username = billy;
};
edSk54xSpXgQoYoh0QNvOlkQ1Mp3 = {
username = billykins;
};
}
これは私のスナップショットを取得し、それを反復しようとする私の機能です。ただし、ループがクラッシュします。
func findUsers(text: String) {
print("search triggered")
dbRef.child("users").queryOrdered(byChild: "username").queryStarting(atValue: text).queryEnding(atValue: text+"\u{f8ff}").observe(.value, with: { snapshot in
print(snapshot)
for i in snapshot.children{
let value = snapshot.value as! Dictionary<String,String>
let username = value["username"]
print(username)
self.userList.append(username!)
print(self.userList)
}
}) { (error) in
print("searchUsers \(error.localizedDescription)")
}
}
ここではログの一部です。あまりにも長い投稿:
0x1002cg360 <+272>: adr x9, #268929 ; "value type is not bridged to Objective-C"
0x1002cg364 <+276>: nop
0x1002cg368 <+280>: str x9, [x8, #8]
-> 0x1002cg36c <+284>: brk #0x1
0x1002cg370 <+288>: .long 0xffffffe8 ; unknown opcode
クエリをorderbyの使用しますあなたのお名前は –
まだ試しましたか? Firebaseのドキュメントは通常、適切な出発点です:https://firebase.google.com/docs/database/ios/lists-of-data#listen_for_child_events。もっと実践的なアプローチが必要な場合は、iOSのFirebaseコードラボを試してみてください。https://firebase.google.com/docs/samples/#codelabs –
これは実際にスナップショットを取得する方法です。私はちょうど私の質問を編集しました。私はそれを言及すべきだった。 –