Как показать изображение в ячейках?
У меня есть TableViewController и AudioPlayerViewController. В TableViewController я хочу знать, сколько треков было прослушано. И показать изображение только в прослушанных ячейках. Чтобы определить, что трек прослушан, я использую этот код в AudioPlayerViewController:
func audioPlayerDidFinishPlaying(_ audioPlayer: AVAudioPlayer, successfully flag: Bool) {
UserDefaults.standard.set( arrayOfListened(trackIndex), forKey: "key")
}
А чтобы показать изображение в ячейках в TableViewController:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: String(format: "cell", indexPath.row), for: indexPath) as! MasterViewCell
if indexPath.row == arrayOfListened[indexPath.row] {
cell.cellStatusImage.image = UIImage(named: "statusDone.png")
}
}
Но мое приложение вылетает - index out of range. Как это исправить?
Ответы (1 шт):
Автор решения: Владимир Ковальчук
→ Ссылка
Вам, при генерации ячейки, сначала необходимо получить сохранённый массив из UserDefaults, а затем поменять условие отображения картинки
if arrayOfListened.contains(indexPath.row)...