我正在使用swift的对象映射器并遇到了问题。
我有一个API类,它调用服务器并以json响应进行响应。
现在,当我在这个API类中调用dataTask函数时,我希望传递类型,我希望使用Object mapper将json响应映射到。
func dataTask(method: String, type: AnyClass) {
Mapper<AnyClass>().map(response)
}
我不确定如何通过该类与mapper一起使用,我已经尝试过泛型但不确定我是否正确实现了它。
func dataTask<T>(method: String, type: T.type) {
}
任何帮助都将不胜感激。
由于
答案 0 :(得分:3)
您需要一个在任何Mappable
类型上都是通用的功能。从本质上讲,这将为您使用的每种类型dataTask(method:_:)
生成一个T
版本,该版本将调用相应版本的Mapper()
。
func dataTask<T: Mappable>(method: String, _: T.Type) {
Mapper<T>().map(response)
}
注意第二个参数,为了使其成为通用类型,需要添加&#34; .Type&#34;。