私はスウィフトでは新しく、何か問題があります。私は私の要求から価値を得ようとしています。私はそれをクロージャとして印刷することができますが、私はVC上で文字列として取得し、それを使用したいが、機能上はログインです。私は閉鎖から帰る方法を理解できません。クロージャとスウィフト3コーリング機能完結返品による返品
機能:VC上
class Json {
var loginToken = ""
public func login(userName: String, password: String) -> (Any){
let loginrequest = JsonRequests.loginRequest(userName: userName, password: password)
return makeWebServiceCall(urlAddress: URL, requestMethod: .post, params: loginrequest, completion: { (JSON : Any) in
//let jsons = JSON
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(let data):
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)
completion("Failure Response: \(json)")
}
呼び出す機能:
let retur = Json()
let rezultatas = retur.login(userName: "root", password: "admin01")
print(rezultatas)
クロージャから戻ることはできません。 – ebby94
あなたの前の質問への私の答えを見てください:http://stackoverflow.com/a/41889841/4063602 – pbodsk
ログインメソッドから値を返すのはなぜですか? –