【发布时间】:2019-09-04 16:36:08
【问题描述】:
我应该能够传递我为之创建的对象,例如:
Struct Response: Codable {
}
struct Obj: ProtocolB, ProtocolC {
let value: String
let name: String
let num: Int
}
self.request(obj: Obj.self, responseType: Response.self) // This i am able to do.
let ob = Obj(value:"hello",name:"alex",num:1)
self.request(obj: Obj.self, responseType: ob) // This I am not able to do
请建议我如何编写一个接受对象的函数,该对象确认协议 A 和 B 并接受该对象。
func request<T: ProtcolA, X: ProtocolB & ProtocolC>(obj: X, responseType: T.Type) -> Promise<T> {
let object = X.init() // This is not required but I am doing I should be able to use object directly.
}
【问题讨论】:
-
你能很好地格式化你的代码吗?真是一团糟
-
您已经切换了要传递给参数
responseType和obj的参数。