Alamofire 5: значение типа 'Результат'не имеет члена' значение ' - PullRequest
2 голосов
/ 01 октября 2019

Новая ошибка в Alamofire 5? так как это не сталкивалось с ошибками в прошлый раз. Ниже приведен код, который сделан. Кто-нибудь, кто использовал Alamofire, сталкивался с этим?

import Foundation
import Alamofire

class MyAppService {
static let shared = MyAppService()
let url = "http://127.0.0.1:5000"

private init() { }

func getCurrentUser(_ completion: @escaping (SomeRequest?) -> ()) {
    let path = "/somePath"
    AF.request("\(url)\(path)").responseData { response in
        if let data = response.result.value { //error shown here (Value of type 'Result<Data, AFError>' has no member 'value')
            let contact = try? SomeRequest(protobuf: data)
            completion(contact)
        }
        completion(nil)
    }
  }
}

1 Ответ

2 голосов
/ 01 октября 2019

Вы должны извлечь значение result, как показано ниже,

func getCurrentUser(_ completion: @escaping (SomeRequest?) -> ()) {
    let path = "/somePath"
    AF.request("\(url)\(path)").responseData { response in
        switch response.result {
        case .success(let value):
            print(String(data: value, encoding: .utf8)!)
            completion(try? SomeRequest(protobuf: value))
        case .failure(let error):
            print(error)
            completion(nil)
        }
    }
}
...