У меня есть collectionViewController, что я хочу отобразить кучу пользовательских UICollectionViewCells с некоторыми ярлыками на них. К сожалению, всякий раз, когда я пытаюсь получить доступ к пользовательскому ярлыку UICollectionViewCell, он вызывает сбой:
Консоль
Неустранимая ошибка: невозможно развернуть Необязательный.Некоторые
Window
Thread1: EXC_BAD_INSTRUCTION (код = EXC_1386_INVOP, субкод = 0x0)
Я пытаюсь получить доступ к ярлыку следующим образом:
cell.name.text = names[indexPath!.item]
Возможно, это происходит из-за того, что мой лейбл outlet равен нулю? Но оглядываясь на ответы, ничего не сработало, и потому что я не совсем уверен, что проблема добавляет? /! в моем коде не очень помогает.
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)
}
}