我一直在兜圈子,似乎很简单,但我想不通。我只是想从 Firebase 读取数据并将其保存在数组中,以便我可以在我的应用程序中使用它。我知道如何读取数据,因为我可以在控制台中打印出以下数据:
var ref = Firebase(url: "<MYFIREBASEURL>")
ref.observeEventType(.ChildAdded, withBlock: { snapshot in
print(snapshot.value.objectForKey("title"))
})
我尝试了其中一些方法来保存到数组,但我无法让它工作,因为它没有直接解决我更简单的问题。
Adding Firebase data into an array
How to save data from a Firebase query
感谢您的帮助!
最佳答案
这就是我使用 Firebase 检索值并附加到数组的方式。 REF_POSTS 是对我在 Firebase 中的帖子对象的基于 url 的引用。请记住,Firebase 对象本质上是字典,您需要从中解析数据并将其分配给变量才能使用它们。
var posts = [Post]()// put this outside of viewDidLoad
//put the below in viewDidLoad
DataService.ds.REF_POSTS.observeEventType(.Value, withBlock: { snapshot in
print(snapshot.value)
self.posts = []
if let snapshots = snapshot.children.allObjects as? [FDataSnapshot] {
for snap in snapshots {
if let postDict = snap.value as? Dictionary<String, AnyObject> {
let key = snap.key
let post = Post(postKey: key, dictionary: postDict)
self.posts.append(post)
}
}
}
self.postTableView.reloadData()
})
关于ios - 从 Firebase 读取数据并保存到数组中 (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37106246/