我想为Alamofire创建一个自定义类,这样我就可以在各个类中反复调用请求。为了做到这一点,我需要传递扩展到DataResponse中的Mappable的模型类。但是我犯了很多错误。
这是我在自定义类中的当前代码:
func callAPI<T: Mappable>(response: T){
Alamofire.request(url!, method: .post, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseObject { (response: DataResponse<T>) in
let result = response.result.value as! BaseData
}
}
当我调用方法时,这是我的代码:
func data() {
let manager = ManagerData(url: url)
manager.callAPI(response: Model.self)
}
这是我的Model类:
class Model: BaseData {
var point: String?
var list: [Voucher]?
override func mapping(map: Map) {
super.mapping(map: map)
totalPoint <- map["TOTAL_POINT"]
list <- map["VOUCHER"]
}
}
class BaseData: Mappable {
var status: String?
var message: String?
required init() {
}
required init?(map: Map) {
}
func mapping(map: Map) {
status <- map["STATUS"]
message <- map["MESSAGE"]
}
}
开manager.callAPI(response: Model.self)
错误为Argument type Model.Type does not conform to expected type Mappable
。
有任何建议怎么做?