我正在使用 swift 的对象映射器,但遇到了问题。
我有一个 API 类,它调用服务器并使用 json 响应进行响应。
现在,当我调用此 API 类中的 dataTask 函数时,我想传递我希望使用对象映射器将 json 响应映射到的类类型。
func dataTask(method: String, type: AnyClass) {
Mapper<AnyClass>().map(response)
}
我不确定如何传入要与映射器一起使用的类,我已经尝试过泛型但不确定我是否正确实现了它。
func dataTask<T>(method: String, type: T.type) {
}
如有任何帮助,我们将不胜感激。
谢谢
最佳答案
您需要一个对任何 Mappable
类型都通用的函数。本质上,这将为您使用它的每种类型 T
生成一个版本的 dataTask(method:_:)
,它将调用适当版本的 Mapper( )
。
func dataTask<T: Mappable>(method: String, _: T.Type) {
Mapper<T>().map(response)
}
注意第二个参数,为了使其成为通用类型,需要添加“.Type”。
关于ios - 传入要与对象映射器一起使用的类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39002240/