質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

0回答

1900閲覧

【Firebase】【Swift】ある子キーの値をもつ親を取得したい

kimkim

総合スコア142

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

2クリップ

投稿2018/01/17 05:59

例えば以下のようにFirebaseにデータが保存されていた場合
イメージ説明
waitingFlgが1になっている親(ここではE4AC9F…)を取得する方法が知りたいです。

試したこと
http://tech.innovation.co.jp/2017/05/24/swift-chat.html[リンク内容](http://tech.innovation.co.jp/2017/05/24/swift-chat.html)
上のURLを参考にして以下のようにコードを書きました。

swift

1 let user = ["name": uid, 2 "inRoom": "0", 3 "waitingFlg": "0"] 4 5 ref.child(self.uid).setValue(user) 6 7 //一回だけwaitingFlgが1のユーザを取得 8 ref.queryOrdered(byChild:"waitingFlg").queryEqual(toValue: "0").observeSingleEvent(of: .value, with: { (snapshot) in 9 10 let value = snapshot.value as? NSDictionary 11 print(入りました) 12 13 if(value != nil){ 14 if (value!.count >= 1) { 15 //ルームを作る側の処理 16 print(value!.count); 17 print("value (value!)") 18 print("↑初回ボタン押下時に、waitingFlgが1のユーザ") 19 //self.createRoom(value: value as! Dictionary<AnyHashable, Any>) 20 } 21 } else { 22 //ルームを作られるのを待つ側の処理 23 self.ref.child(self.uid).updateChildValues(["waitingFlg":"1"]) 24 //self.checkMyWaitingFlg(); 25 print("こっち") 26 } 27 });

しかし実行してもこの部分をスルーしてコンソールには何も表示されないまま終わってしまいます。
どこが間違っているのか教えていただけるとありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2018/01/25 09:00

refはどうなっているのでしょうか?
kimkim

2018/01/25 16:43

refに関してはFirebaseの公式サイトにしたがってデータベースへの定義を参照し作成しています。
fuzzball

2018/01/25 23:55

そのコードを書いて下さい。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問