【发布时间】:2015-08-06 16:06:12
【问题描述】:
我正在使用 Alamofire 并希望使用内容类型“text/html; charset=utf-8”对我的参数进行编码。我按照文档https://github.com/Alamofire/Alamofire 进行自定义参数编码并创建了
let custom: (URLRequestConvertible, parameters: [String: AnyObject]?) -> (NSURLRequest, NSError?) = {
(URLRequest, parameters) in
let mutableURLRequest = URLRequest.URLRequest.mutableCopy() as! NSMutableURLRequest
mutableURLRequest.setValue("text/html; charset=utf-8", forHTTPHeaderField: "Content-Type")
mutableURLRequest.body = // don't know if I need to set this
return (mutableURLRequest, nil)
}
func postData(){
Alamofire.request(.POST, baseUrl, parameters: parameters, encoding: .Custom(custom))
.responseString{ (request, response, data, error) in
println("blah")
}
}
当我尝试在我的 Alamofire 请求中使用自定义并收到错误“无法使用类型为 (_, _, _, _)-> _) 的参数列表生成响应字符串时遇到问题但是,这不是如果将编码更改为 .URL 之类的预设,则会出现问题,因此问题似乎出在我的自定义实现中?
如果有影响,我的参数设置在这里:
var parameters = [String: AnyObject]()
func setParams(){
parameters = [
"CONTRACT ID" : chosenContract!.iD.toInt()!,
"FEE AMOUNT" : 0,
"TRANSACT DATE" : today
]
}
【问题讨论】:
-
你使用的是哪个版本的 Alamofire?,你的代码编译得很好
-
我使用的是 Alamofire 1.3.0 版
标签: swift encoding alamofire nsmutableurlrequest