У меня есть изображение в пользовательской ячейке (называемой «StoryCell»), ссылка на которую находится в базе данных Realm и которую я загружаю в CellForRowAt со следующим кодом:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
....
let story = stories?[indexPath.row]
if story?.storyImage.isEmpty == true {
print("Do nothing")
} else {
let path = getDocumentDirectory().appendingPathComponent(story!.storyImage)
do {
let imageData = try Data(contentsOf: path)
let retrievedImage = UIImage(data: imageData)
cell.storyImage.image = retrievedImage
} catch {
print("Error retrieving image: \(error)")
}
}
cell.delegate = self
return cell
}
Однако всякий раз, когда я добавляю новый элемент таблицы, после восьмого раза отображение изображений становится несовместимым, то есть первое изображение повторяется в восьмой строке. Я знаю, что это связано с природой «повторного использования» ячеек в табличных представлениях, и я пытался разрешить ее с помощью оператора «if» в моем коде выше, а также «перезагрузить» данные табличного представления при добавлении нового элемента:
@IBAction func addStoryButton(_ sender: UIBarButtonItem) {
let newStory = Story()
newStory.dateCreated = Date()
self.save(story: newStory)
self.storiesTableView.reloadData()
}
Тем не менее, я продолжаю в том же духе. Заранее спасибо за любые мысли по этому поводу.