【发布时间】:2017-01-27 07:59:56
【问题描述】:
我是 swift 的新手,从函数中获取字符串时遇到问题,我正在尝试使用完成处理程序,但出现了问题,你能帮帮我吗?
将 [String : String] 添加到 func 后,我无法获得 rezult,我想获得响应并打印它。错误:无法将类型 () 的返回表达式转换为返回类型 [String : String]
请求:
public func login(userName: String, password: String) -> [String : String]{
let loginrequest = JsonRequests.loginRequest(userName: userName, password: password)
return makeWebServiceCall(urlAddress: URL, requestMethod: .post, params: loginrequest, completion: { (JSON : Any) in
print("\(JSON)")
})
}
private func makeWebServiceCall (urlAddress: String, requestMethod: HTTPMethod, params:[String:Any], completion: @escaping (_ JSON : Any) -> ()) {
Alamofire.request(urlAddress, method: requestMethod, parameters: params, encoding: JSONEncoding.default).responseJSON { response in
switch response.result {
case .success:
if let jsonData = response.result.value {
completion(jsonData)
}
case .failure(let error):
if let data = response.data {
let json = String(data: data, encoding: String.Encoding.utf8)
print("Failure Response: \(json)")
}
调用函数:
let retur = Json()
let rezultatas = retur.login(userName: "root", password: "admin01")
print(rezultatas)
【问题讨论】:
-
"something is wrong" 是无用的问题描述。
标签: json swift closures alamofire