Saz*_*han 3 composition swift codable decodable encodable
在 Apple doc 中发现,该Codable协议由Encodable和组成Decodable。因此,
Codable = Encodable & Decodable
Run Code Online (Sandbox Code Playgroud)
现在,假设我在下面的类中实现,
class X: Codable {
var name: String
}
class Y: Encodable, Decodable {
var name: String
}
class Z: Encodable & Decodable {
var name: String
}
Run Code Online (Sandbox Code Playgroud)
那么,类X、Y和之间是否存在功能差异Z?
如果没有尊重为什么我们不能&在 的地方使用,?
不,没有任何区别,Codable是 for 的类型别名Encodable & Decodable,因此它结合了您可以以任何方式自由使用的两种协议
在夫特&是一样的,在协议的组合物,以便
Encodable, Decodable=Encodable & Decodable=Codable