我有一个json响应和以下模型类
[
{
"id": "1"
},
{
"id": "2"
}
]
型号
typealias ModelA = [ModelElement]
class ModelElement: Codable {
let id: String?
init(id: String?) {
self.id = id
}
}
我想使用协议扩展ModelA
(这是类型别名)。
protocol ModelProtocol {
}
我的要求是,在解码json并发送回时,我希望所有请求函子的签名具有通用的闭包(如下所示),而不是每个api回调都有单独的闭包类型
typealias Callback = (ModelProtocol?) -> Void
但是我不能扩展typealias。它给出了错误。
这个answer也没有帮助
如何实现所有Models和Typealias的通用协议(当json以数组开头时)?
如果不使用typealias,还有其他方法可以达到上述要求吗?