У меня небольшие проблемы с панелью просмотра прогресса. По сути, когда я нажимаю и удерживаю ячейку, она воспроизводит звук, привязанный к ней через Firebase. Индикатор выполнения определяет продолжительность и работает как ожидалось; идет от 0,0 до 1,0 по продолжительности. Каждая ячейка (аудиопост) имеет свой собственный индикатор выполнения, но проблема в том, что когда я играю в любой из постов (ячеек), индикатор выполнения в верхней ячейке показывает продолжительность вместо соответствующей ячейки, на которую я нажимаю. Моя проблема похожа на эту ТАК сообщение , но я не совсем уверен, на что обратить внимание, поскольку отсутствуют какие-либо дополнительные детали. Общая цель - индикатор выполнения в ячейке, которую я нажимаю для анимации, пока она воспроизводит соответствующий звук. Любая помощь приветствуется. Просыпался всю ночь с ним.
@objc func updateProgress(){
let duration = Float((player.currentItem?.duration.seconds)!)
let currentTime = Float((player.currentItem?.currentTime().seconds)!)
let progressTotal = currentTime/duration
let indexPath = IndexPath(row: self.tag, section: 0)
if progressTotal > 0 {
if let cell = tableView.cellForRow(at: indexPath) as? PostTableViewCell {
cell.progressBar.progress = progressTotal
cell.progressBar.progressTintColor = UIColor.blue
} else {
timer?.invalidate()
if timer != nil {
timer?.invalidate()
timer = nil
print("Timer Stopped")
}
}
}
}