首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可快速编码,可解码与可编码

可快速编码,可解码与可编码
EN

Stack Overflow用户
提问于 2020-03-12 10:30:09
回答 3查看 6.3K关注 0票数 7

在苹果文档中发现,Codable协议是由EncodableDecodable组成的。因此,

代码语言:javascript
复制
Codable = Encodable & Decodable

现在,假设我实现了以下类,

代码语言:javascript
复制
class X: Codable {
    var name: String
}

class Y: Encodable, Decodable {
    var name: String
}

class Z: Encodable & Decodable {
    var name: String
}

那么,在X**,** Y Z**?**这两个类之间有什么功能差异吗?

如果没有尊重,为什么我们不能在,的地方使用,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-12 10:34:52

不,没有任何区别,CodableEncodable & Decodable的类型,所以它结合了您可以自由使用的2种协议

在Swift中,&与协议组合中的相同,因此Encodable, Decodable = Encodable & Decodable = Codable

票数 12
EN

Stack Overflow用户

发布于 2020-03-12 10:41:01

它们在功能上是相同的,但是您可以使用&语法来完成一些不能用逗号分隔的列表。这两种方法都不适用于逗号方法。

代码语言:javascript
复制
public typealias Codable = Decodable & Encodable

func doSomething(with item: ProtocolA & ProtocolB) {
}
票数 3
EN

Stack Overflow用户

发布于 2022-03-17 07:59:33

编码将您的自定义类型实例转换为其他表示形式(如JSON和pList )的过程称为编码或序列化。对于编码,自定义类型符合可编码协议。

解码--将表示形式中的数据(如JSON或pList )转换为自定义类型的实例的过程称为解码或反序列化。对于解码,自定义类型符合可解码协议。

可编码既支持编码又支持解码,自定义类型可以符合可编码和可解码的可编码协议。

阅读有关可编码解码编码 单击此链接的更多信息

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60652158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档