Я создал собственный класс ячейки представления коллекции, который так же прост:
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 равны нулю, когда я ссылаюсь на них в приведенном выше коде. Как я могу это исправить?
Вы не дали достаточно информации. Я предполагаю, что вы зарегистрировали класс ячейки с представлением коллекции в своем viewDidLoad. Если это так, удалите это.
@matt Ты прав! Это была проблема! Большое спасибо!
Хорошо дал это как ответ.
Вы, вероятно, где-то говорите self.collectionView?.register
для своего типа клетки. Если это так, удалите эту строку. Вы не должны регистрировать ячейку, если вы получаете ее из раскадровки.
Пожалуйста, исправьте форматирование вашего вопроса.