当前位置: 首页 > news >正文

北京网站设计费用mysql开发网站开发

北京网站设计费用,mysql开发网站开发,上海公司做网站的,湛江网站建设费用Codable 是 Swift 引入的全新的编解码库,使开发者更方便的解析JSON 或 plist 文件。支持枚举、结构体和类。 Codable协议定义 Codable代表一个同时符合 Decodable 和 Encodable 协议的类型,即可解码且可编码的类型。 typealias Codable Decodable &a…

Codable 是 Swift 引入的全新的编解码库,使开发者更方便的解析JSON 或 plist 文件。支持枚举、结构体和类。

Codable协议定义

Codable代表一个同时符合 Decodable 和 Encodable 协议的类型,即可解码且可编码的类型。

typealias Codable = Decodable & Encodablepublic protocol Decodable {public init(from decoder: Decoder) throws
}public protocol Encodable {public func encode(to encoder: Encoder) throws
}

Codable从 Swift 4 开始引入,包含了 Encoder 和 Decoder 协议和他们的两个实现 JSONEncoder、JSONDecoder 和 PropertyListEncoder、PropertyListDecoder。

其中 Codable 及其相关协议放在了标准库中,而具体的 Encoder、Decoder 类放在了 Foundation 框架中。 

JSON 和 模型的相互转换

苹果提供了 JSONEncoder 和 JSONDecoder 这两个结构体来方便得在 JSON 数据和自定义模型之间互相转换。苹果可以利用一些系统私有的机制来实现转换,而不需要通过 OC Runtime

只要让自己的数据类型符合 Codable 协议,就可以用系统提供的编解码器进行编解码。

struct User: Codable {var name: Stringvar age: Int
}

解码(JSON Data -> Model):

let user = JSONDecoder().decode(User.self, from: jsonData)

编码(Model -> JSON Data):

let jsonData = JSONEncoder().encode(user)

字典 和 模型的相互转换

将模型用JSONEncoder的encode转成Data,然后再用JSONSerialization反序列化成Dictionary对象。

struct User: Codable {var name: String?var age: Int?static func convertFromDict(dict: NSDictionary) -> User? {var user: User?do {let data = try JSONSerialization.data(withJSONObject: dict, options: [])let decoder = JSONDecoder()user = try decoder.decode(User.self, from: data)} catch {print(error)}return user}func convertToDict() -> NSDictionary? {var dict: NSDictionary?do {let encoder = JSONEncoder()let data = try encoder.encode(self)dict = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? NSDictionary} catch {print(error)}return dict}
}

http://www.yayakq.cn/news/514034/

相关文章:

  • 包头市建设厅官方网站wordpress怎么给产品编号
  • 求个没封的w站2021软件给公司做网站数据分析
  • 东莞专业营销网站建设推广网页设计工资一般多少2017
  • 网站域名的作用网址怎么申请注册
  • 户型图在哪个网站找网站建设中 尽情期待
  • 5118站长平台中英双语网站建设
  • 成品网站1688入口的功能介绍做公司网站需注意什么
  • 做网站设计能赚钱吗正版宝安网站推广
  • 哈尔滨哪里做网站网站企业建设
  • 定制型网站建设推广青海做网站最好的公司
  • 武进网站建设好么软件工程开发流程
  • 快速建站公司做ppt模板网站
  • 西部数码怎么上传网站江苏电信网站备案
  • 做网站网站危险吗创建个人网站的流程
  • 建筑行业官方网站网站入口你明白我的意思吧
  • 南京市建筑工程网站福建企业网站建设
  • 与电子商务网站建设有关实训报告设计网页英文
  • 如何建设一个小型网站杭州做网站公司
  • 个人网站可以做哪些主题制作旅游景点介绍网页
  • 网站短信接口怎么做网站建设中扒站为什么是违法的
  • 有了域名 建设自己的网站建设部监理工程师报名网站
  • 关于网站建设论文的结束语自己有产品怎么网络销售
  • 网站开发后台结构wordpress站长工作
  • 南京网站定制开发公司企业培训课程清单
  • 专业网站设计制合肥作比较好用的免费素材网
  • 镇平微网站开发微官网免费制作平台
  • 怎样在线做网站404网站制造公司
  • 做管理信息的网站莱芜都市网最新招聘信息
  • 渭南网站建设哪家好百度账号注册平台
  • 四川住房和城乡建设厅网站不能进入黄冈crm系统