2016-12-20 3 views
1

Firebaseリアルタイムデータベースを使用して、ユーザのリストを保存しています。現時点では、アイテムがfirebaseのユーザリストに追加される代わりに、そのアイテムが置き換えられます。ユーザーがテーブルビューに場所を追加するときに追加されるリストが作成されるようにするにはどうすればよいですか?だから私は、データの構造になりたいでしょう:Firebaseリアルタイムデータベースのリストにリストを追加する

USER_ID 地名:locationA locationB locationC

は行うことが可能ということですか?ここに私のコードは、これまでのところです:私はあなたが何をしたいと思います

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath) 
    for place in storedPlaces { 
     storedNames.append(place.name) 
    } 
    cell.textLabel?.text = storedNames[indexPath.row] 

    let Pname: String = (cell.textLabel?.text!)! 
    print(Pname) 
    let PplaceID = "Hello" 
    let post : [String: AnyObject] = ["storedName" : Pname as AnyObject, "placeID" : PplaceID as AnyObject] 

    let databaseRef = FIRDatabase.database().reference() 
    databaseRef.child("PlaceNames").child((user?.uid)!).setValue(post) 



    return cell 
+0

[リストに項目を追加するために 'childByAuthId()'を呼び出す](https://firebase.google.com/docs/database/ios/lists-of-data#append_to_a_list_of_data)または['UpdateChildValues()'を選択的に子のプロパティを更新](https://firebase.google.com/docs/database/ios/read-and-write#update_specific_fields)。 –

答えて

2

はfirebase位置ノードのキーを定義できるようにすることです:

let databaseRef = FIRDatabase.database().reference() 
databaseRef.child("PlaceNames").child((user?.uid)!) 
locationRef = databaseRef.childByAutoId() 
locationRef.setValue(post) 

これはFirebase構造になります:

PlaceName 
    uid_0 
    -YUisisokapoksa 
     storedName: "some name" 
     placeID: "some id" 
    -YNisimaii990js 
     storedName: "some name" 
     placeID: "some id 

Firebase Getting Started Guideには、childByAutoIdの使用についての情報があります - データの更新または削除のセクションで

+0

こんにちは、ありがとう!これは私が望んでいたものではありませんでしたが、正しい方向に私を指していましたので、今私はそれを試しました...私は子供の後にchildByAutoId()を入れます((user?.uid)!)私はPlaceNamesの下にuidを持っていて、その下にautoIDがあり、個々の場所が続いています。 (したがって、新しいautoIDがテーブルビューの各エントリに対して作成されます)、これは私が探していたものでした! –

+0

素晴らしい!私があなたの説明にマッチした構造のように聞こえる!答えが助けられたら、他の人にも役立つようにそれを受け入れてください。 – Jay

関連する問題