【发布时间】:2017-07-21 11:19:04
【问题描述】:
我正在将使用 Swift 2.3 的现有项目转换为 Swift 3.1。 到目前为止,我成功地按照 Xcode 的建议实施了所有更改,并且还添加了最新的 POD。
一切似乎都很好,除了以下 - (因为这是一个已经存在的代码,我部分理解了正在做的事情)。
我有以下要求 -
var request = ModifyProfileAddressAPIRequestData()
request.clientContext = ClientContext()
request.customer = AddressContext(address: CustomerAddress(countryName:countryName, countryCode: countryCode, locationName:locationName,houseNr: houseNr, streetName: streetName, postalCode:postalCode, box: box ))
request.fields = "customer.address"
let parameters = request.toJSON()
DDLogVerbose("modifyProfileURL parameters JSON:\(parameters)")
alamofireConfigure().request(request).validate(statusCode: 200..<503).responseObject{ (responseData: DataResponse<UserProfile>) in
...
ModifyProfileAddressAPIRequestData 是一个可映射结构,如下所示 -
fileprivate struct ModifyProfileAddressAPIRequestData : Mappable{
var customer: AddressContext?
var clientContext: ClientContext?
var fields:String?
init() {}
init?(map: Map) {}
mutating func mapping(map: Map) {
customer <- map["customer"]
clientContext <- map["clientContext"]
fields <- map["fields"]
}
}
我在 alamofireConfigure 请求中收到错误
Argument type 'ModifyProfileServiceAPIWithAlamofire.ModifyProfileAddressAPIRequestData' does not conform to expected type 'URLRequestConvertible'
按照from here的解决方案,我的其他请求已成功更改,并且没有任何问题。
我唯一的问题是 Mappable 类型的请求。它在 Swift 2.3 中运行良好。
有人可以说明实际发生的情况以及需要做些什么来解决 Swift 3.1 中出现的这个问题吗?
【问题讨论】:
-
你有什么错误吗?
-
是的,问题中提到了 - 'Argument type 'ModifyProfileServiceAPIWithAlamofire.ModifyProfileAddressAPIRequestData' 不符合预期的类型 'URLRequestConvertible''
标签: ios swift swift3 nsurlrequest urlrequest