桌面视图中的UILabel不更新其文本

时间:2018-03-22 11:57:42

标签: ios uitableview uilabel urlsession

someObj !.someProp内有UILabel。我正在将音频下载到我的设备,并使用UITableViewCell显示已完成的下载百分比。下载开始后,这样可以正常工作。

UILabel

现在,如果我转到另一个视图控制器并再次回到上一个视图控制器(即,如果我重新加载我的视图),则继续下载,但 func urlSession(_ session: URLSession, assetDownloadTask: AVAssetDownloadTask, didLoad timeRange: CMTimeRange, totalTimeRangesLoaded loadedTimeRanges: [NSValue], timeRangeExpectedToLoad: CMTimeRange) { var percentComplete = 0.0 // Iterate through the loaded time ranges for value in loadedTimeRanges { // Unwrap the CMTimeRange from the NSValue let loadedTimeRange = value.timeRangeValue // Calculate the percentage of the total expected asset duration if timeRangeExpectedToLoad.duration.seconds > 0{ percentComplete += loadedTimeRange.duration.seconds / timeRangeExpectedToLoad.duration.seconds } print(percentComplete) } percentComplete *= 100 DispatchQueue.main.async { self.updateCell(Int(percentComplete)) } } } @objc private func updateCell(_ percentComplete:Int) { self.myLabel.setNeedsDisplay() self.myLabel.text = "(DownloadStatus) (percentComplete)% } 不再自动更新。如果我打印?UILabel文本,它会打印正确的文本,但在重新加载视图后不会自动更新。

编辑:注意 - >重新加载视图时,没有任何出口(即按钮,标签等)在“urlSession Delegate方法”内更新。我可以看到他们的价值变化但不是UI。

0 个答案:

没有答案