2016-05-06 8 views
1

を自動IDを取得し、私はこのようなchildByAutoID()メソッドを使用して、それらを追加するループを使用してFireBase内のテーブルに名前をアップロードしていますはFireBase JSONから迅速

enter image description here

私はそのようにのような従属テーブルを守ってください。

CURRENT_USER_DEPENDENTS_URL.observeEventType(.Value, withBlock: { snapshot in 
     print(snapshot.value) 
     self.dependentsJSON = snapshot.value as? [String : [String : String]] 

     }, withCancelBlock: { error in 
      print(error.description) 
    }) 
上記のコードでは

print文は、このJSON辞書を生成します。

は非常に単純を入れ

{ 
    "-KH3Cg0KFvMNEULYUezv" =  { 
     name = one; 
    }; 
    "-KH3Cg0LeTs54nbYonmv" =  { 
     name = two; 
    }; 
    "-KH3Cg0LeTs54nbYonmw" =  { 
     name = three; 
    }; 
    "-KH3Cg0LeTs54nbYonmx" =  { 
     name = four; 
    }; 
} 
私はので、私はそれから配列を作成することができ、このJSON辞書
から各従属のUIDを取得できるようにしたいと思います NSUserDefaultsで依存のUIDのと同様に、このようにJSON辞書を並べ替える:

if let firstName = self.dependentsJSON?["-KH3Cg0LeTs54nbYonmx"]?["name"] { 
     print(firstName) 
} 

サイドノート: 私は、彼らがCREている時にUIDを保存することができますatedでデータベースに追加されますが、ユーザーが実行時にUIDを取得する必要があるため、ユーザーがアプリケーションをアンインストールする必要があります。

答えて

4

あなたは次にあなたがイムは、私がこの先に考えるdidntは驚い値

if let firstName = self.dependentsJSON?[idList[0]]?["name"] { 
    print(firstName) 
} 
+0

素晴らしいおかげで! –

1

あなたがこれを行うことができませんでした。

var keys = Array(self.dependantsJSON.keys) 

それは私が迅速で働いていたので、しばらくして私はあなたが戻ったスナップショットからすべてのキーを取得し、それらから配列を作成することができますかなり確信しています。

+0

にアクセスし、次の

var idList = [String]() CURRENT_USER_DEPENDENTS_URL.observeEventType(.Value, withBlock: { snapshot in //print(snapshot.value) self.dependentsJSON = snapshot.value as? [String : [String : String]] for dependent in self.dependentsJSON{ idList.append(dependent.key) } }, withCancelBlock: { error in print(error.description) }) 

を行うことができます。ありがとうございました! –