UILabel внутри Tableview ячейки не обновляет свой текст

голоса
0

У меня 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не обновляет себя больше. Если бы я напечатать? UILabel текст печатает правильный текст , но не обновляют себя после перезагрузки вида.

не Edit: Примечание-> Ни один из выходов (то есть кнопка, этикетки и т.д.) обновление внутри «urlSession делегат метода», когда представление перегружается. Я могу видеть их изменения стоимости, но не пользовательский интерфейс.

Задан 22/03/2018 в 11:57
источник пользователем
На других языках...                            


1 ответов

UILabel внутри Tableview ячейки не обновляет свой текст

голоса
0

У меня 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не обновляет себя больше. Если бы я напечатать? UILabel текст печатает правильный текст , но не обновляют себя после перезагрузки вида.

не Edit: Примечание-> Ни один из выходов (то есть кнопка, этикетки и т.д.) обновление внутри «urlSession делегат метода», когда представление перегружается. Я могу видеть их изменения стоимости, но не пользовательский интерфейс.

Ответил 22/03/2018 в 11:57
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more