如何从firebase数据库中检索数据作为字符串而不是字典并将其添加到数组中?
Posted
技术标签:
【中文标题】如何从firebase数据库中检索数据作为字符串而不是字典并将其添加到数组中?【英文标题】:How to retrieve data as a string, not a dictionary, from firebase database and add that to an array? 【发布时间】:2018-01-15 22:02:20 【问题描述】:我有一个这样设置的 firebase 数据库...
后项目--|
What's your favorite color?--|
-- addedByUser: "Michael Ruddy"
--question: "What's your favorite color?"
我想检索“你最喜欢的颜色是什么?”这个问题。从实时数据库中,并将该值作为字符串放入数组中。我还需要添加每个新问题以自动加入数组。
我当前的代码只接收一个字典值,当转换时,它是随机顺序的。
func startObservingDB()
dbRef.observe(.value, with: (snapshot:DataSnapshot) in
let postDict = snapshot.value as? [String: AnyObject] ?? [:]
let newPosts = postDict
self.tableView.reloadData()
print (self.posts)
) (error) in
print(error)
【问题讨论】:
【参考方案1】:你真的应该像这样构造你的数据
post_items
-Yuh8...
question: "What's your favorite color"
asked_by: "Michael Ruddy"
并且要读取所有问题的代码,一次一个,然后查找新添加的问题
let postsRef = self.ref.child("post_items")
postsRef.observe(.childAdded, with: snapshot in
let dict = snapshot.value as! [String: Any]
let q = dict["question"] as! String
let a = dict["asked_by"] as! String
print("\(a) asked \(q)")
//add data to the array
//tableView.reloadData
)
每个帖子的关键父节点(Yuh8...)都是用childByAutoId创建的。
【讨论】:
@MichaelR。优秀的!如果它有效并且有帮助,但一定要接受它,这样它也可以帮助其他人!以上是关于如何从firebase数据库中检索数据作为字符串而不是字典并将其添加到数组中?的主要内容,如果未能解决你的问题,请参考以下文章
从 Firebase 检索和读取数据作为 NSArray (Swift 3)
如何根据 android 中的用户位置从 Firebase 数据库中检索数据?