У меня есть ListViewController, добавляющий вид с помощью метода нижеКак удалить ячейки в UIViewController
class ListViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let obj: AnObject = ObjectCollection!.getObject(index: indexPath.item)
let cell: UICollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: NSStringFromClass(UICollectionViewCell.self), for: indexPath as IndexPath)
let cellView: UIImageView = UIImageView(image: obj.image)
cellView.frame = cell.bounds
cell.contentView.addSubview(cellView)
return cell
}
Проблема в том, когда я удалить содержимое в ячейке, а затем нажмите кнопку назад, клетка не удаляется и показывает предыдущий контент.
Мой метод удаления является
func deleteObject(index: Int) {
// delete from the collection
ObjectCollection?.deleteObject(index: index)
self.collectionView.reloadData()
}
мне нужно явно удалить ячейку или его содержимое?
Ну что такое 'ObjectCollection'? Потому что, очевидно, это не сохраняется после удаления объекта из него, иначе он не будет отображаться снова при перезагрузке tableView – Pierce
Вы уверены, что 'ObjectCollection' не' nil', когда вы вызываете 'deleteObject'? – Losiowaty
@ Losiowaty Да, я уверен, что это не ноль. Он удаляет объект из коллекции, как только я его выберу, щелкнув ячейку, которую он не отображает. – user2175783