使用协议扩展类型别名

时间:2018-12-08 17:22:30

标签: swift protocols codable type-alias

我有一个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,还有其他方法可以达到上述要求吗?

0 个答案:

没有答案