Неожиданно обнаружен нуль при попытке развернуть метку из пользовательской ячейки представления коллекции

Я создал собственный класс ячейки представления коллекции, который так же прост:

import UIKit

class AchievementCollectionViewCell: UICollectionViewCell {
    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var achieveLabel: UILabel!
}

Розетки подключаются к соответствующим элементам в ячейке-прототипе. Видимо, когда я пытаюсь назначить текст и изображение этим выходам, я получаю сообщение об ошибке Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value

Вот код, который я использую:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionViewCell", for: indexPath) as! AchievementCollectionViewCell
        // Configure the cell
        let achievement = achievementList[indexPath.row]
        cell.achieveLabel.text = achievement.name

        return cell
}

Отладчик показывает, что как imageView, так иchieveLabel равны нулю, когда я ссылаюсь на них в приведенном выше коде. Как я могу это исправить?

Пожалуйста, исправьте форматирование вашего вопроса.

matt 27.05.2019 22:58

Вы не дали достаточно информации. Я предполагаю, что вы зарегистрировали класс ячейки с представлением коллекции в своем viewDidLoad. Если это так, удалите это.

matt 27.05.2019 23:01

@matt Ты прав! Это была проблема! Большое спасибо!

vlpsk 27.05.2019 23:05

Хорошо дал это как ответ.

matt 27.05.2019 23:15
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
4
42
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы, вероятно, где-то говорите self.collectionView?.register для своего типа клетки. Если это так, удалите эту строку. Вы не должны регистрировать ячейку, если вы получаете ее из раскадровки.

Другие вопросы по теме