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

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

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

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

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

Q&A

解決済

2回答

1383閲覧

Firebase に子ノードを作れない

masamasamasa

総合スコア95

Firebase

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

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

0グッド

0クリップ

投稿2018/11/09 11:56

編集2018/11/10 00:40

##前提
初めてswift, Firebaseでiosアプリを作ってます。

##問題
Firebase に子ノードを作れないので、怪しい部分を調べて見つけたのですが、どう読んで良いか分からず解決できない

##CODE

swift

1print("1") 2print("Api.User.CURRENT_USER?.uid: ((Api.User.CURRENT_USER?.uid)!)") 3Database.database().reference().child("notification").child((Api.User.CURRENT_USER?.uid)!).observeSingleEvent(of: .value, with: { (snapshot) in 4 print("snapshot.children: (snapshot.children)") 5 print("snapshot.children.allObjects: (snapshot.children.allObjects)") 6 let arraySnapshot = snapshot.children.allObjects as! [DataSnapshot] 7 arraySnapshot.forEach({ (child) in 8 print("-------child.key: (child.key)") 9 }) 10}) 11print("2")

##MESSAGE

1 Api.User.CURRENT_USER?.uid: DAn4t6ZqSMfjlUNeUpaDbIQNSCl2 2 snapshot.children: <FTransformedEnumerator: 0x600003aebba0> snapshot.children.allObjects: []

これは、
Firebaseに接続できているけど、snapshotの値が帰ってきていない
ということでしょうか?
また、どうやって解決したら良いでしょうか?
すみませんが、よろしくお願いします。

##開発環境
MacOS Mojave 10.14
Xcode 10.0
Swift 3.0

##書き込みデータのCODE

swift

1Database.database().reference().child((Api.User.CURRENT_USER!.uid)).observeSingleEvent(of: .value, with: { snapshot in 2let arraySnapshot = snapshot.children.allObjects as! [DataSnapshot] 3 4// 書き込みデータ 5arraySnapshot.forEach({ (child) in 6guard let postId = newPostId else { return } 7let newNotificationId = Api.Notification.REF_NOTIFICATION.child(child.key).childByAutoId().key 8guard let notificationId = newNotificationId else { return } 9let newNotificationReference = Api.Notification.REF_NOTIFICATION.child(child.key).child(notificationId) 10newNotificationReference.setValue(["from": Api.User.CURRENT_USER!.uid, "type": "feed", "objectId": postId, "timestamp": timestamp]) 11}) 12})

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

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

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

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

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

guest

回答2

0

自己解決

すいません。
Firebaseにデータが入っていないだけでした。
ご迷惑をおかけしました。
以後気をつけます。

投稿2018/11/10 09:13

masamasamasa

総合スコア95

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

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

0

パッとみた感じだとデータが登録されていない感じがします。

質問の内容だけだと判別できませんので
・読み取りと書き込みどちらを行いたいのか
・実際に使っているデータ
を教えていただけると幸いです。

投稿2018/11/10 00:15

Ren-Toyokawa

総合スコア8

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

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

masamasamasa

2018/11/10 00:44 編集

ご回答ありがとうございます。 ・こちらは書き込みを行なっています。 ・データを上記に記載しました。 // 書き込みデータ以下は表示がありませんでした。
masamasamasa

2018/11/10 09:14

ご迷惑をおかけしました。 データが入っていなかったです。 以後気をつけたいと思います。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問