Я пытаюсь использовать Моя сеть в моем проекте.Я использую этот пример .В качестве примера делается запрос на подключение к серверу в контроллере представления в строке 56, которая находится ниже, и использование методов обратного вызова в строке 72 и строке 78
func uploadGiphy() {
provider.request(MultiTarget(Giphy.upload(gif: Giphy.animatedBirdData)),
callbackQueue: DispatchQueue.main,
progress: progressClosure,
completion: progressCompletionClosure)
}
Я хочу написать эту функцию в NetworkHelper.swift вместо моего контроллера представления , но используйте его методы обратного вызова (строка 72 и строка 78) в моем контроллере представления.
Поэтому я написал функцию в NetworkHelper :
class NetworkHelper{
static func getUsers(amount:Int=2,
gender:Gender = .Male,
success successCallback: @escaping ([UserModelMain]) -> Void,
error errorCallback: @escaping (Swift.Error) -> Void,
failure failureCallback: @escaping (Moya.MoyaError) -> Void,
progress progressClosure: ProgressBlock?) {
userProvider.request(.getUsers(amount: amount, gender: gender),
callbackQueue: DispatchQueue.main,
progress: progressClosure) { (result) in
switch result
{
case .success(let response):
if response.statusCode >= 200 && response.statusCode <= 300 {
guard let getResponseObject = try? response.map(to: [UserModelMain.self])else{
let error = NSError(domain:"com.company.networkLayer", code:0, userInfo:[NSLocalizedDescriptionKey: "JSON Parsing Error"])
errorCallback(error)
return
}
successCallback(getResponseObject)
} else {
let error = NSError(domain:"com.company.networkLayer", code:0, userInfo:[NSLocalizedDescriptionKey: "Network Error"])
errorCallback(error)
}
case .failure(let error):
// 3:
failureCallback(error)
}
}
}
}
В моем контроллере представления Я вызываю эту функцию:
func user(){
UserAdapter.getUsers(amount: 200, gender: .Female, success: { (response) in
}, error: { (error) in
// show error from server
}, failure: { (error) in
// show Moya error
}, progress: progressClosure)
}
lazy var progressClosure: ProgressBlock = { response in
print("Progress: \(response.progress)")
}
Но response.progress
всегда 0.0
Пожалуйста, помогите.
Прогресс: 0,0 Прогресс: 0,0 Прогресс: 0,0 Прогресс: 0,0 Прогресс: 0,0