我查询过后,可以操作FDatasnapshot吗?
我希望能够在Datasnapshot上进行一些自定义过滤。 我不认为我可以创build一个复杂的查询来完成我想要的结果。
这是可能的,如果是这样,parsing快照的最佳方法是什么?
编辑:
我正在使用SwiftyJSON,这是我最终parsing它:
standbyRef.observeSingleEventOfType(.Value, withBlock: { snapshot in // do some stuff once println(snapshot.value) self.parseJson(snapshot.value as NSDictionary) }) func parseJson(var snapshot:NSDictionary!){ let json = JSON(snapshot) for (key: String, subJson: JSON) in json { // key to standby users println(key) // one object at a time println(subJson) } }
Firebase只接受JSON
格式的所有数据。 当您获取Firebase的任何特定节点的数据快照时,您将获得该节点下方的完整数据,该节点仅包含所有JSON。
一旦获得Datasnapshot JSON
您可以使用任何JSON
库来parsing它,这取决于您使用的平台。
有关更多信息,请参阅Datasnapshot方法 。
没有任何额外的库,你也可以做这样的事情:
if let email = snapshot.value["email"] as? String { user.email = email }
或者如果你想遍历所有的值:
let enumerator = snapshot.children while let child = enumerator.nextObject() as? FDataSnapshot { println(child.key) println(child.value) }