我有一个问题,如何在我的自定义表格视图单元格中更新我的进度视图,这是从互联网下载文件?如果我重新加载表视图,它会占用大量内存并增加内存
tableView.reloadData()
如果我重新加载唯一一个部分,它也会占用大量内存并增加内存
tableView.reloadSections([0], with: .none)
那么请问在我的自定义表格视图单元格中更新进度视图的最佳方法是什么?
以下我的自定义表视图类:
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 :(得分:0)
您应该在数据源中添加与文件下载进度相关的参数并在主线程中更新进度
def __str__(self):
return self.name.encode('utf-8')