У меня есть collectionViewController, в котором я хочу отображать набор пользовательских UICollectionViewCells с некоторыми метками на них. К сожалению, всякий раз, когда я пытаюсь получить доступ к пользовательской метке UICollectionViewCell, это вызывает сбой:
Консоль
фатальная ошибка: невозможно развернуть необязательный.нет
Окно
Тема 1: EXC_BAD_INSTRUCTION (код = EXC_1386_INVOP, субкод = 0x0)
Я пытаюсь получить доступ к ярлыку следующим образом:
cell.name.text = names[indexPath!.item]
Возможно, это происходит из-за того, что моя торговая марка равна нулю? Но поиск ответов ничего не дал, и потому что я не совсем уверен, в чем проблема?/! в моем коде не очень помогает.
MyCustomUICollectionViewController
class ScrambledTextCollectionViewController: UICollectionViewController {
var names: String[] = ["Anna", "Alex", "Brian", "Jack"]
override func viewDidLoad() {
super.viewDidLoad()
// Register cell classes
self.collectionView.registerClass(MyCustomCollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
}
override func numberOfSectionsInCollectionView(collectionView: UICollectionView?) -> Int {
return 1
}
override func collectionView(collectionView: UICollectionView?, numberOfItemsInSection section: Int) -> Int {
return names.count
}
override func collectionView(collectionView: UICollectionView?, cellForItemAtIndexPath indexPath: NSIndexPath?) -> UICollectionViewCell? {
var cell = collectionView?.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as MyCustomCollectionViewCell
cell.name.text = names[indexPath!.item]
return cell
}
}
MyCustomCollectionViewCell
class MyCustomCollectionViewCell: UICollectionViewCell {
@IBOutlet var name: UILabel
init(frame: CGRect) {
super.init(frame: frame)
}
}