2017-04-27 11 views
1

私はUIDの後にすべての子供にアクセスする必要があります。アクセスしてるFirebase子供値

JSON

Json2

私は+のVVVV値をアセスする必要があります。そしてそれらの値を配列に入れて、tableViewセルがすべての値をロードするようにします*。

firebaseを呼び出すときにこれらの値を取得する方法を助けてください。例えば

+message_view 
    +UID 
     +value1 
     +value2 
     +value3 

が、私はこれらの値にアクセスし、私のtableView細胞にそれらを配置する必要があります。

override func viewDidLoad() { 
     super.viewDidLoad() 

     let userID = FIRAuth.auth()?.currentUser?.uid 

     if let userId = userID { 
      ref.child("message_view").child(userId).observeSingleEvent(of: .value, with: {(snapshot) in 

      let snapDict = snapshot.value as? NSDictionary 




      //Assign array values 
      self.messageDataArray.insert(postStruct(message: theValueIwant), at: 0) 


      //self.tableView.reloadData() 


     }) 
+0

これらの値にはキーがありますか?もしそうなら、彼らの鍵は何ですか –

+0

あなたは鍵で何を意味しますか? – codeChickszRockk

+0

プログラミングにはごめんなさい。 – codeChickszRockk

答えて

0

あなたのUIDの下の値が文字列であると仮定すると、以下のようになります。文字列でない場合は、データ配列の型を変更して正しい型にキャストします。 for child in snapshot.childrenループの実行が完了したら

override func viewDidLoad() { 
    super.viewDidLoad() 

    let userID = FIRAuth.auth()?.currentUser?.uid 

    if let userId = userID { 
     ref.child("message_view").child(userId) 
      .observeSingleEvent(of: .value, 
           with: {(snapshot) in 
      var dataArray = [String]() 
      for child in snapshot.children { 
       let childSnapshot = child as! FIRDataSnapshot 
       dataArray.append(child.value as! String) 
      } 

      //do anything with dataArray 
     }) 
    } 
} 

、あなたは配列としてあなたのUIDのすべての子供があるでしょうし、あなたも一緒にやりたいことができます。

+0

ありがとう。しかし、私はすべての値にアクセスする必要があります*この作業ではvvvvだけではない? – codeChickszRockk

+0

私はvvv内の値を必要としません。+ UID内のすべての値が必要です – codeChickszRockk

+0

OK、UID内のすべての値にアクセスするようにコードを変更しました。それはちょっとした変更です。 –

関連する問題