Почему моя ячейка представления коллекции возвращает ошибку "Удаленная ячейка не является экземпляром TileCollectionViewCell" - PullRequest
0 голосов
/ 08 мая 2019

Я создаю представление коллекции для своего приложения через раскадровку, и я выполнил полную настройку представления коллекции. Я создал UICollectionViewController и создал файл кода для UICollectionViewController. Я также создал файл кода для прототипа CollectionViewCell и назначил ему идентификатор повторного использования. Я создаю оператор guard-let для обнаружения любой фатальной ошибки, и я удалил из очереди CollectionViewCell.

Я написал этот код над строкой класса, под оператором импорта.

private let reuseIdentifier = "TileCell"

Я написал эту функцию переопределения в классе.

override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as? TileCollectionViewCell else {
        fatalError("The dequeued cell is not an instance of TileCollectionViewCell")
    }

    // Configure the cell

    return cell
}

Однако, когда я запускаю приложение в симуляторе, оно аварийно завершает работу и возвращает в консоль оператор error-let и ошибку and:

Удаленная ячейка не является экземпляром TileCollectionViewCell

Почему возвращается эта ошибка?

Ответы [ 2 ]

1 голос
/ 08 мая 2019

Вызов register(_:forCellWithReuseIdentifier:) метод при настройке представления коллекции

collectionView.register(TileCollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
0 голосов
/ 08 мая 2019

Вещи для проверки:

  1. Проверьте повторно используемый идентификатор, назначенный в совпадениях раскадровки, с помощью "TileCell".
  2. Проверьте, что ячейка в представлении коллекции назначена классу TileCollectionViewCell в раскадровке.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...