Я создаю пользовательский UICollectionViewCell
в файле .xib
с указанным ниже кодом, но получаю эту ошибку:
Завершение работы приложения из-за необработанного исключения «NSGenericException», причина: «ЭтоКодер требует, чтобы замененные объекты были возвращены из initWithCoder: '
Все другие решения по переполнению стека имеют Objective C, поэтому я очень запутался в том, что делать.В моем NIB-файле класс задан в контроллере идентификации, как и идентификатор многократного использования.
UICollectionViewCell
Я использую от API с именем Gemini
, поэтому ячейка называется GeminiCell
.Однако Gemini
не является проблемой, поскольку он работает без использования NIB.
cellForItemAtIndexPath в контроллере представления
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
// Doesn't work
let cell = Bundle.main.loadNibNamed("AlbumsCell", owner: self, options: nil)?[0] as! AlbumsCell
// Also doesn't work
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! AlbumsCell
return cell
}
Класс пользовательских ячеек
class AlbumsCell: GeminiCell {
@IBOutlet weak var albumsImageView:UIImageView!
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}