2017-09-06 16 views
0

Je veux télécharger un fichier avec Alamo feu et en utilisant l'alerte avec la progression pour le montrer, mais la progression ne bougera pas lorsque alamo feu progress.fractionCompleted augmenté J'utilise statique var égal à progres.fractionCompleted, mais il n'a pas travaillé aussi voici mes codesvue d'avancement dans alamo incendie ne mettra pas à jour lors du téléchargement de fichier dans swift 3

let destination = DownloadRequest.suggestedDownloadDestination() 

     Alamofire.download("example.com", to: destination).downloadProgress(queue: DispatchQueue.global(qos: .utility)) { (progress) in 
      print("Progress: \(progress.fractionCompleted)") 
      sixthLevelViewController.progressdownload = Float(progress.fractionCompleted) 

     DispatchQueue.main.async { 

      let alertController = UIAlertController(title: "Downloading", message: "please wait", preferredStyle: .alert) 

      let progressDownload : UIProgressView = UIProgressView(progressViewStyle: .default) 

      progressDownload.setProgress(ViewController.progressdownload, animated: true) 
      progressDownload.frame = CGRect(x: 10, y: 70, width: 250, height: 0) 

      alertController.view.addSubview(progressDownload) 
      self.present(alertController, animated: true, completion: nil) 

     } 
      } .validate().responseData { (response) in 
       print(response.destinationURL!.lastPathComponent) 
     } 

** Rappelez-vous que cela va bien fonctionner et que le problème est mise à jour juste vue des progrès **

Répondre

0

Je pense que votre code est faux: selon les documents latest Alamofire je fais un exemple pour montrer comment vous pouvez modifier votre code:

let destination: DownloadRequest.DownloadFileDestination = { _, _ in 
     let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, 
                   .userDomainMask, true)[0] 
     let documentsURL = URL(fileURLWithPath: documentsPath, isDirectory: true) 
     let fileURL = documentsURL.appendingPathComponent("myfile.pdf") 

     return (fileURL, [.removePreviousFile, .createIntermediateDirectories]) } 

func requestDownloadInfo(url:String) { 
      Alamofire.download(url, to :destination) 
       .downloadProgress(queue: utilityQueue) { progress in 
        let progressDic = ["progress" : progress.completedUnitCount, "total" : progress.totalUnitCount, "fraction" : progress.fractionCompleted] as [String:Any] 
        // here you can show your alert using fraction value.. 
       } 
       .responseData { response in 
        // check your file after download or check errors... 
       } 
} 
+0

rapide ne me laisse pas d'exécuter l'application en raison de la RetunzAPIProgress –

+0

j'ai à jour mon code, laissez-moi savoir si vous avez résolu .. ok –

+0

oublier ce que j'ai utilisé une autre code Mais il y a un autre problème s'il vous plaît aidez-moi avec cela et après cela fixé je vais répondre à cette question par moi-même est le lien de cette question https://stackoverflow.com/questions/46137799/why-alamo-fire-download -progress-in-alert-va-clignoter-et-le-derrière-écran-st –