内容简介:翻译自:https://stackoverflow.com/questions/47464436/can-swift-4s-jsondecoder-be-used-with-firebase-realtime-database
中的数据,以便可以使用JSONDecoder对其进行解码.
当我使用URL通过网络请求(获取Data对象)访问它时,我可以正确解码此数据.
但是,我想使用Firebase API直接获取数据,使用0700所述的observeSingleEvent.
但是,当我这样做时,我似乎无法将结果转换为Data对象,我需要使用JSONDecoder.
是否可以使用DataSnapshot进行新的JSON解码?这怎么可能?我似乎无法弄明白.
不,Firebase会返回无法解码的FIRDataSnapshot.但是,您可以使用此结构,这非常简单易懂:
struct GroceryItem {
let key: String
let name: String
let addedByUser: String
let ref: FIRDatabaseReference?
var completed: Bool
init(name: String, addedByUser: String, completed: Bool, key: String = "") {
self.key = key
self.name = name
self.addedByUser = addedByUser
self.completed = completed
self.ref = nil
}
init(snapshot: FIRDataSnapshot) {
key = snapshot.key
let snapshotValue = snapshot.value as! [String: AnyObject]
name = snapshotValue["name"] as! String
addedByUser = snapshotValue["addedByUser"] as! String
completed = snapshotValue["completed"] as! Bool
ref = snapshot.ref
}
func toAnyObject() -> Any {
return [
"name": name,
"addedByUser": addedByUser,
"completed": completed
]
}
}
并使用toAnyObject()来保存您的项目:
let groceryItemRef = ref.child("items")
groceryItemRef.setValue(groceryItem.toAnyObject())
字体: https://www.raywenderlich.com/139322/firebase-tutorial-getting-started-2
翻译自:https://stackoverflow.com/questions/47464436/can-swift-4s-jsondecoder-be-used-with-firebase-realtime-database
以上所述就是小编给大家介绍的《Swift 4的JSONDecoder可以与Firebase实时数据库一起使用吗?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- RethinkDB:用于实时应用的NoSQL数据库
- Apache Druid 0.19.0 发布,实时分析数据库
- Apache Druid 0.20.2 发布,实时分析数据库
- Apache Druid 0.21.1 发布,实时分析数据库
- TigerGraph:实时图数据库助力金融风控升级
- SQL Server实时同步更新远程数据库遇到的问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机网络(第6版)
[美] James F.Kurose、[美] Keith W.Ross / 陈鸣 / 机械工业出版社 / 2014-10 / 79.00元
《计算机网络:自顶向下方法(原书第6版)》第1版于12年前出版,首创采用自顶向下的方法讲解计算机网络的原理和协议,出版以来已被几百所大学和学院选用,是业界最经典的计算机网络教材之一。 《计算机网络:自顶向下方法(原书第6版)》第6版继续保持了以前版本的特色,为计算机网络教学提供了一种新颖和与时俱进的方法,同时也进行了相当多的修订和更新:第1章更多地关注时下,更新了接入网的论述;第2章用pyt......一起来看看 《计算机网络(第6版)》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
UNIX 时间戳转换
UNIX 时间戳转换