9篇文章 · 11441字 · 3人关注
我们来研究Swift中对象解码的实现过程。有了前面编码的内容做铺垫,形式上,解码过程基本就是编码的“逆过程”。这个过程中用到的类型,数据结构和编...
__JSONEncoder是一个遵从了Encoder的类型,从JSONEncoder.encode的实现看,它才是真正开始处理数据编码的类型。并...
之前看到过的UnkeyedEncodingContainer也是一个protocol,它的定义在这里。除了SingleValueEncoding...
我们来研究KeyedEncodingContainer。但为了研究这个容器,我们得从CodingKey开始。一直以来,我们都把它弱化成了用于标记...
该如何研究Swift中的Codable系统呢?从最粗的线条来说,我们的路径分成两条: 一条是从应用代码追到标准库的实现; 一条是从向用户开放的公...
我们来研究构成__JSONEncoder的另一半,也就是它的Encoder身份。 Encoder约束了什么 既然如此,我们当然应该从Encode...
我们先定义一组用于演示的支持Codable的派生类: 接下来,定义一个包含这些类对象的数组: 现在,如果编码再解码shapes会发生什么呢? 执...
通常我们都用Codable处理App中和model这类概念有关的类型。如果这个类型的属性都兼容Codable,用起来就不会有什么问题。但情况并不...
文集作者