2016-04-26 8 views
0

をゼロに、私は「ユーザー」と呼ばれるアプリでユーザーを指すエンドポイントを持って、このエンドポイントの内側に、基本的な構造は次のとおりです。Firebase iOSのスナップショットの値に戻りますが、私のFirebase iOSアプリで

  • ユーザー:
    • ユーザーID-1:
    • 等...

私が今直面している問題(それは前に完全に罰金働いていた)私はobserveEventTypeまたはobserveSingleEventを使用して、パスにsnapshot.valueを取得しようとすることです:「ユーザー/ userid-# "、その場所のデータがダッシュボードに表示されていても、私はnullを返します。

この場合は、いずれかのユーザーIDに対してのみ発生します。私は正常に他のすべてのユーザーのデータを取得できます。データは実際にダッシュボードに表示されるので、データを取得するときに、その場所に表示されているデータの代わりにnullが返される理由がわかりません。

私が使用するコードは非常に簡単です:私が得たもの

Firebase *testRef = [self.ref childByAppendingPath:@"users/userid-1"]; 
[testRef observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot)  { 
    NSLog(@"%@", snapshot.value); 
}]; 

が起きているかもしれないもの上の任意のアイデアを持っているデータ

誰でもするのではなく、nullですか?

ありがとうございます!

+0

使用しているコードと実際のJSON(Firebaseダッシュボードの[エクスポート]ボタンをクリックすると簡単に得ることができるテキスト)を見ると、ここで長い道のりがあります。 [MCVE](http://stackoverflow.com/help/mcve)を参照してください。 –

+0

私が使用する基本コードで編集しました。何もない。 –

+0

リンクしたMCVEの提供に関するページをお読みください。あなたの質問にはまだJSONがありません。つまり、問題を再現しているかどうかを確認しなければなりません。誰かがあなたに手伝ってもらいやすいほど、助けを受ける可能性が高くなります。 –

答えて

-1

firebaseデータベースに適切なノードがあることを確認してください。そこにいくつかの値を加えました。

0

まず、あなたが認証されていることを確認してください。 ユーザが認証されずにそのノードを検索できるようにするには、ルールread:trueを更新してください。これは、それが

Firebase *testRef = [[self.ref child:@"users"] child:"userid-1"]; 
[testRef observeSingleEventOfType:FEventTypeValue withBlock:^(FDataSnapshot *snapshot)  { 
     NSLog(@"%@", snapshot.value); }]; 

です:

更新firebaseReferenceは、子関数を持つ関数childByAppendingPathを非推奨しました。

0

最新Firebase SDKについては

としてfirebaseの参照を作成します。

@property (strong, nonatomic) FIRDatabaseReference *dataRef; 

としてあなたのオブザーバーを呼び出す:それは私のために働い

dataRef = [[dataRef child:@"users"]child:@"userid-1"]; 

[dataRef observeEventType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot){ 

    NSLog(@"%@", snapshot.value); 

}) 

関連する問題