在Firebase数据库中存储阵列

时间:2018-03-22 09:17:44

标签: arrays swift firebase firebase-realtime-database

我正在尝试将数组存储在Firebase数据库中,但我不确定如何正确地执行此操作。

我想存储一个数组,如:

var exampleArray = ["item1", "item2", "item3"]

我之所以使用数组中的值填充UIPicker,而不是每次都要添加新值来更新应用程序,那么如果我只是更新数据库并立即添加会更好每个应用程序的新值。

有没有办法可以将值存储在数据库中并从数据库中提取值并将其存储到数组中,如上所示?

谢谢。

2 个答案:

答案 0 :(得分:1)

Firebase setValue方法将接受与String或Integer相同的数组。因此,您可以以相同的方式读取和写入值 -

var ref: DatabaseReference!

ref = Database.database().reference()

var exampleArray = ["item1", "item2", "item3"]

// Write the array 
ref.child("myArray").setValue(exampleArray)

// Read the array 
ref.child("myArray").observe(.value) { snapshot in
  for child in snapshot.children {
    // Add the values to your picker array here
  }
}

答案 1 :(得分:0)

一个简单的解决方案是从包含该数组的Firebase数据库引用中读取JSON,并在swift中将其deserealize到本机swift数组。请参阅https://firebase.google.com/docs/database/#implementation_path

上的第2点