2017-03-13 6 views
0

インターネットからダウンロードファイルであるカスタムテーブルビューのセルで進行状況ビューを更新する方法について質問がありますか?私はテーブルビューをリロードする場合、私は、それはまた、巨大なメモリを取り、更新プログレスビューカスタムテーブルビュー内のセルをスワイプ言語でダウンロード

tableView.reloadSections([0], with: .none) 

はそう何がベストかしてくださいメモリ増やすだけで一つのセクションをリロードする場合には、巨大なメモリを取り、メモリも

tableView.reloadData() 

を増やします私のカスタムテーブルビューのセル内の進捗状況を更新する方法?私のカスタムテーブルビュークラス次

import UIKit 

class DownloadingTableViewCell: UITableViewCell { 

    @IBOutlet weak var movieDeleteButton: UIButton! 
    @IBOutlet weak var movieImageView: UIImageView! 
    @IBOutlet weak var movieNameLabel: UILabel! 
    @IBOutlet weak var movieProgreesView: UIProgressView! 
    @IBOutlet weak var movieSizeLabel: UILabel! 

    weak var movieObject:DownloadVideo? { 
     didSet { 
      updateUI() 
     } 
    } 

    func updateUI() { 

     movieImageView.image = nil 
     movieNameLabel.text = nil 
     movieSizeLabel.text = nil 
     movieProgreesView.progress = 0.0 

     if let movieObject = movieObject { 

      movieImageView.image = UIImage(named: "movie") 
      movieNameLabel.text = movieObject.videoName 

      // set the label size file 
      if movieObject.totalData != nil { 
      let totalSize = ByteCountFormatter.string(fromByteCount:movieObject.totalData!, countStyle: .binary) 
      movieSizeLabel.text = String(format: "%.1f%% of %@", (movieObject.data)! * 100 ,totalSize) 
      } 
      ///////////////////////// 

      if let movieData = movieObject.data { 
       movieProgreesView.progress = movieData 
      } 

     }// end the fetch object 
    } 
} 

おかげでたくさん

答えて

0

あなたは、ダウンロードの進行状況を提出し、メインスレッドに

if let movieData = movieObject.data { 
    dispatch_get_main_queue().asynchronously() { 
     movieProgreesView.progress = movieData 
     } 
} 
を進捗状況を更新するために、関連するデータソースにパラメータを追加する必要があります
+0

上記のカスタムテーブルビューのセルオブジェクトで好きなのですが、インターネットからムービーをダウンロード中に進行状況ビューを更新するにはどうすればよいですか?テーブルビューをリロードしても動作しますが、大量のメモリを使用しています。進捗状況を更新するだけです。 – Mustafa

+0

この進捗状況を確認してください。https://github.com/cmoulton/grokHTMLAndDownloads/tree/progress –

関連する問題