使用 Swift Codable 进行高效的数据编解码(swift4 codable编解码方法)

书籍介绍

在 Swift 4 中新推出的 Codable 从根本上改进了使用 JSON 和其他数据表示方式的工作方式。

如果你的应用与 web 服务进行交互,那么返回数据的格式非常可能是 JSON。Codable 提供了将 JSON 映射到 Swift 模型的绝佳方法。得益于编译器的自动代码整合,过去花费数小时工作和数百行代码才能完成的任务,现在可以在几分钟内完成 —— 而且几乎不需要写额外的代码。

以下 Plane 结构:

struct Plane {
    var manufacturer: String
    var model: String
    var seats: Int
}

整合 Codable

struct Plane: Codable {
    var manufacturer: String
    var model: String
    var seats: Int
}

无需额外代码,JSON 的编码与解码就自动完成了。

小册全面介绍了 Codable 的各个方面,从基础开始学习,逐步深入,并通过丰富的示例项目探索各种高级主题。

  • 光顾 Codable 的每个角落,学习 Swift 4 带来的全新 JSON 编解码方法。同时适应各种数据类型,将你的 Codable 模型变成任何你想要的表现形式,几行代码即可实现自定义模型编解码。
  • 用 Codable 和 iTunes Search Web API 结合,以构建音乐商店应用的核心功能,同时学习资深工程师的高效工作方法,感受如何通过命令行技巧取得文档中未提及的有用信息,提高工作效率。
  • 仅仅编解码是不够的,数据需要存储和读取,学习完 Codable 的基本操作之后,将为大家展示如何整合 UserDefaults 构建的机上餐点订购应用,学习实现数据持久化最简单的方法。
  • 使用二维码和 Core Data 制作行李扫描应用,并学习使用 Core Data 与外部数据源交互。
  • 为大家介绍 MessagePack 二进制编码格式,并从零开始手把手教大家实现自定义编码器,并深入了解二进制序列化格式,感受 Codable 的强大,学习完复杂的二进制编解码方法,以后遇到再复杂的数据格式也不用怕。

本书目录

  1. 第一次飞行
  2. 等待航线
  3. 采取控制措施
  4. 使用 iTunes Search API 构建音乐商店应用
  5. 使用 UserDefaults 构建机上服务应用
  6. 使用 Core Data 构建行李扫描应用
  7. 实现 MessagePack 编码器 :MessagePack 格式简介
  8. 实现 MessagePack 编码器 :编码基础数据类型
  9. 实现 MessagePack 编码器 :完成编码器

你会学到什么

  • 深入了解 Codable,JSON 转化只需一行代码
  • 使用 iTunes API 构建音乐商店应用,同时学习命令行技巧
  • 在实践中学习 Codable 与 UserDefaults、Core Data 等持久化方案的无缝结合
  • 从零开始实现 MessagePack 二进制编解码器,成为 Swift 编解码高手

适宜人群

Swift 使用者和初学者,以及 iOS/macOS 开发者。

飞行学校

飞行学校是为 Swift 开发人员制作的系列丛书。 每月,我们都会发布新书,使用简洁而专业的语言,专注探索 iOS、macOS 和 Swift 开发中的重要部分。

我们的书籍可以提供实用知识,可以帮助开发人员提高生产力和生产效率。 我们致力于创造引人入胜、资讯丰富、面向广泛受众的学习资源。无论你是一直在用 Swift 工作,还是刚开始着手学习 Swift,在飞行学校丛书中你总能找到喜欢的东西。

请随时通过 Twitter(@flightdotschool)给我们发送消息以取得联系,或发送电子邮件至 info@flight.school。

作者介绍

Mattt(@mattt)是来自俄勒冈州波特兰市的作家、开发者。他作为技术作家在苹果公司工作了 3 年,为 Swift 语言,Swift Package Manager 和 Swift.org 做出了贡献。在此之前,Mattt 创建了 iOS 和 macOS 开发者周刊 NSHipster,并维护包括 AFNetworking 和 Alamofire 在内的几个开源库。

使用 Swift Codable 进行高效的数据编解码(swift4 codable编解码方法)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

侵权投诉:nerds@nigaea.com

工作时间:周一至周五,9:30-18:00,节假日休息

QR code