在Firebase实时数据库swift上添加列表

时间:2016-12-20 19:29:07

标签: ios swift firebase firebase-realtime-database append

我正在使用Firebase实时数据库来存储用户的位置列表。目前,而不是将一个项目添加到firebase中的用户列表中,而是将其替换。如何在用户向tableview添加位置时创建附加列表?所以我希望数据的结构是:

USER_ID      PlaceName: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

1 个答案:

答案 0 :(得分:3)

我认为你想要的是让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

有关使用childByAutoId的Firebase Getting Started Guide的一些信息 - 在更新或删除数据部分