Swift 4的JSONDecoder可以与Firebase实时数据库一起使用吗?

栏目: Swift · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/47464436/can-swift-4s-jsondecoder-be-used-with-firebase-realtime-database
我正在尝试解码Firebase DataSnapshot

中的数据,以便可以使用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实时数据库一起使用吗?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法交易:制胜策略与原理

算法交易:制胜策略与原理

[美]欧内斯特·陈(Ernest P. Chan) / 高闻酉、黄蕊 / 机械工业出版社 / 49.00

本书是一本引人入胜、信息量大、覆盖各类交易策略的图书。无论个人投资者,还是机构投资者,都可以借鉴和使用其中的策略。本书中的策略大致可分为均值回归系统和动量系统两大类。书中不仅介绍了如何使用每种类别的交易策略,更解释了各种策略之所以有效的原因。本书始终以简单、线性的交易策略为重心,因为复杂的交易策略容易受到过度拟合及数据窥探的侵害。数学和软件是算法交易的两条腿。本书用到了一定程度的数学知识,使其对各......一起来看看 《算法交易:制胜策略与原理》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具