Почему происходит сбой моего приложения, когда я использую оператор if, чтобы развернуть необязательный collectionViewCell? - PullRequest
0 голосов
/ 12 июня 2018

Я получаю эту ошибку в xcode после нескольких месяцев работы этого кода, и я не могу понять, почему код выдает ошибку.

Ошибка: Тема1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения

if let recentsRow = collectionView(collectionView, cellForItemAt: recentsIndex) as? DashboardRowCollectionViewCell {
        recentsRow.documents = recents ?? []
}

if let favoritesRow = collectionView(collectionView, cellForItemAt: favoritesIndex) as? DashboardRowCollectionViewCell {
        favoritesRow.documents = favorites ?? []
}

Извините, если об этом уже спрашивали, но я какое-то время осматривал сайт и все еще не смог найтирешение.

Редактировать: у меня нет этой проблемы при запуске приложения в симуляторе.У меня также не было этой проблемы до того, как я обновил XCode.

Редактировать 2: Отладчик сказал мне, что collectionView равен nil, но я все еще не уверен, почему он равен nil.

Вот как collectionView определяется в моем ViewController: @IBOutlet weak var collectionView: UICollectionView!

1 Ответ

0 голосов
/ 13 июня 2018

Несмотря на то, что я не уверен, почему вид коллекции был нулевым, я исправил сбой приложения, окружив код ошибки следующим:

if collectionView != nil {
    ... code goes here ...
}

Это будет принятый ответ, пока кто-нибудьприходит, чтобы объяснить, почему это было ноль для начала.

Редактировать: Если вы пытаетесь выяснить, почему это было ноль и хотите код ViewController, к которому относится проблема, я буду рад предоставить его.

...