ios - 从 Firebase 读取数据并保存到数组中 (Swift)

标签 ios arrays swift firebase

我一直在兜圈子,似乎很简单,但我想不通。我只是想从 F​​irebase 读取数据并将其保存在数组中,以便我可以在我的应用程序中使用它。我知道如何读取数据,因为我可以在控制台中打印出以下数据:

 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/

相关文章:

javascript - 使用纯 JavaScript 从数组中删除一个值

c++ - 如何将数组的元素传递给另一个?

ios - 为什么无法访问?

macos - 任何支持 OS X 10.6.8 的快速代码编辑器

ios - 使用默认 Audio Session 以后台模式播放声音?

C# 将 3D 矩阵展平/扩展为锯齿状数组

ios - 在 iOS7 中取消交互式弹出手势时如何将数据传递给子 Controller ?

ios - 当我按下返回键时,keyboardWillShowNotification 被触发(仅在我第一次按下它时)

iphone - 更改 View 时 ASIHTTPRequest 异步崩溃

ios - Metal 仅绘制 View 的一部分并查询图层