Swift 3 Alamofire Запрос прогресса - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть такой код

let req = Alamofire.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers)
    req.downloadProgress { (progress) in
        print("progess!", Float(req.progress.fractionCompleted))
    }

    req.responseJSON { response in
        if response.result.isSuccess {
            print(response.result.value!)
        }
        else {
            print(response.result.error!)
        }
    }

Результат не дает мне прогресса. он просто возвращает 1.0, вот и все, но мне нужен прогресс этого запроса.

Пожалуйста, кто-нибудь, помогите мне.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Вы делаете ошибку при использовании req.progress.fractionCompleted. используйте progress.fractionCompleted вместо.

let req = Alamofire.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers)
    req.downloadProgress { (progress) in
        print("progess!", Float(progress.fractionCompleted))
    }

    req.responseJSON { response in
        if response.result.isSuccess {
            print(response.result.value!)
        }
        else {
            print(response.result.error!)
        }
    }
0 голосов
/ 06 сентября 2018

Добавить прогресс в основную очередь

request?.downloadProgress(queue: .main,closure: {progress in
        self.downloadProcess.text = "Download \((progress.fractionCompleted*100))% completed"
        print(self.downloadProcess.text)
        if #available(iOS 11.0, *) {

        } else {
            // Fallback on earlier versions
        }

    })
...