Swift3 用swift语言更新自定义表格视图单元格内的进度视图下载
我有一个问题,关于如何在自定义表视图单元格(从internet下载文件)中更新进度视图?如果重新加载表视图,将占用大量内存并增加内存Swift3 用swift语言更新自定义表格视图单元格内的进度视图下载,swift3,tableview,tableviewcell,uiprogressview,Swift3,Tableview,Tableviewcell,Uiprogressview,我有一个问题,关于如何在自定义表视图单元格(从internet下载文件)中更新进度视图?如果重新加载表视图,将占用大量内存并增加内存 tableView.reloadData() 另外,如果我只重新加载一个部分,它也会占用大量内存并增加内存 tableView.reloadSections([0], with: .none) 那么,在自定义表视图单元格中更新进度视图的最佳方法是什么 以下是我的自定义表视图类: import UIKit class DownloadingTableView
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
}
}
非常感谢您应该在数据源中添加一个与主线程中的文件下载进度和更新进度相关的参数
if let movieData = movieObject.data {
dispatch_get_main_queue().asynchronously() {
movieProgreesView.progress = movieData
}
}
在上面的自定义表视图单元格对象中,我是否像您一样,在从internet下载电影的过程中如何更新进度视图?如果我重新加载表视图,这是可行的,但需要使用大量内存,我只需更新进度视图即可检查此进度下载