【发布时间】:2021-11-16 14:06:20
【问题描述】:
这是我打算做的。
我有两个结构,StructA 和 StructB。
我还有一个 JsonDecoder 需要接受 StructA 或 StructB。
我尝试定义一个通用协议并使两个结构都符合该协议,并尝试使用 some 关键字,例如:
struct StructA: CommonStruct {
let someBool = false
}
struct StructB: CommonStruct {
let someString = "SomeString"
}
protocol CommonStruct {
}
func needToGetShitDone(
data: CommonStruct // <- What type should ``data`` be?
) {
let data = try JsonDecoder().decode(CommonStruct.type, from: data)
}
...当然,这没有用。
是否可以将 JsonDecoder 配置为同时接受 StructA 和 StructB。
【问题讨论】:
标签: ios json swift protocols jsondecoder