Я новичок в swift и получил проблему с получением строки из функции, я пытаюсь использовать обработчик завершения, но что-то не так, не могли бы вы мне помочь?swift 3 обработчик завершения для возврата строки
После добавления [String: String] к func, я не могу получить результат, я хочу получить ответ и распечатать его. Ошибка: Невозможно преобразовать обратный expresion типа() для возврата типа [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)
ошибки: enter image description here
* «что-то не так» * является бесполезным описанием проблемы. –