私は、少なくとも6層の階層と各ノードの多くの子を持つ大規模なfirebaseデータベースを使って作業しています。スナップショット全体を解析し、オブジェクトモデルに変換したかったのです。私はthis解決策を見つけましたが、私の意見では、各ノードの子ノードを解析するとfirebaseへの呼び出しが必要になるため、指数関数的に待ち時間が長くなるため、非常に非効率です。 "ref.observeSingleEvent"がfirebaseを呼び出す代わりにローカルで実行される方法はありますか?他のより良い選択肢は、非常に高く評価されるだろう。Swift Firebaseオブジェクトモデルへのスナップショット
答えて
//this goes into your call (observeSingleEvent)
let enumerator = snapshot.children //assuming you use snapshot as name
while let rest = enumerator.nextObject() as? FIRDataSnapshot {
// this loops through every child in that map
let values = (rest as! DataSnapshot).value as? NSDictionary
let coins= values?["coins"] as? Int ?? 0
//above code looks for a key with username and grabs the value from that. If it is not a string value it returns the default value.
//use above code for picture 1
if (rest as! DataSnapshot).key == "slot"{
let enumeratorMap1 = (rest as! DataSnapshot).children
while let rest2 = enumeratorMap1.nextObject() as? FIRDataSnapshot {
let valuesMap1 = (rest2 as! DataSnapshot).value as? NSDictionary
//loop through values in new map
//use this methodes for looping through maps, as stated in picture 2
//keep repeating this method for any child under the map
}
}
}
これは膨大なコードを生成しましたが、他のソリューションよりも優れた方法です。 – tectonicpie
@tectonicpieはい私は知っていますが、他の方法はないと思いますが(私が知りたいのですが)、それはあなたのデータをどのように構築するかによって大きく異なります。 –
このソリューションをオブジェクトの配列で動作させるにはどうすればよいですか? "name":[{object1}、{object2}、{object3}] 名前とその配列をNSDictionaryに変換できますが、配列内にはキー値のペアはなくオブジェクトの値だけがあります。 – tectonicpie
- 1. Swift - Firebaseの変数へのスナップショット
- 2. Swift - Firebase複数のスナップショット
- 3. swift - Firebaseデータベースのスナップショット取得。
- 4. Firebase Swiftでのスナップショット値エラーへのアクセス3
- 5. オブジェクトモデルのないFirebase Recyclerアダプタ
- 6. Swift Firebase子スナップショットデータへのアクセス
- 7. Firebase Swift:スナップショットを辞書に変換する
- 8. スウィフト3とFirebase:スナップショット
- 9. Firebaseスナップショットからのテキストへのポリマーデータのバインド
- 10. 別のノードへのFirebaseのロードiOS Swift
- 11. Firebase - iOS Swiftへのマップ情報のアップロード
- 12. Firebase Xamarin foreachのスナップショット子供
- 13. Firebase - idに基づくスナップショット
- 14. 配列を持つ子からFirebaseのスナップショットを受け取るSWIFT
- 15. スナップショット以外の変数firebase Angular
- 16. Firebaseのスナップショットが間違っている
- 17. Firebaseのクラウドファンクション:スナップショットからdeltaValueを取得
- 18. Firebaseスナップショットの繰り返し順
- 19. SwiftのFirebase AuthData
- 20. 2つのFirebaseスナップショットをマージする方法
- 21. Firebaseスナップショット経由で読む - Android
- 22. データの取得、データのソート、テーブルビューへのロード(Swift 3:Firebase)
- 23. Firebaseでのループ[Swift]
- 24. Firebase Swiftページングのニュースフィード
- 25. 辞書の配列へのFirebaseデータ。 iOS、Swift
- 26. フィルタFirebaseデータSwift
- 27. Firebase Pagination - Swift 3
- 28. Swift Firebase snapshot.allValues update
- 29. クエリ&Firebase(swift 3)
- 30. Swift viewcontroller firebaseデータベースオブザーバリピートコール
あなたはそれの下で、多くのchildernsでFirebaseのマップをダウンロードすることができますはい、あなたはFirebaseに1つの以上の呼び出しを行う必要はありませんすべてのchildernが1つのマップに該当する場合は、そのマップをダウンロードします。 –