Bir koleksiyonViewController'ım var, bunlara bazı etiketler içeren birtakım özel UICollectionViewCells görüntülemek istiyorum. Ne yazık ki denemek ve özel UICollectionViewCell etiketini eriştiklerinde onunla çökertmesidir:Etiket Çıkışında Özel UICollectionViewCell'de İsteğe Bağlı Bir Düzenleme Yapılmasına Gerek Yok.None Crash
Konsolundan
fatal error: Can't unwrap Optional.None
ben şöyle etiketi erişmeye çalışıyorum
Thread1: EXC_BAD_INSTRUCTION(code=EXC_1386_INVOP, subcode=0x0)
Pencere :
cell.name.text = names[indexPath!.item]
Belki de bu benim çıkış etiketimden nil geliyor? Ama cevaplar için etrafa bakma, hiçbir şey işe yaramadı, çünkü sorunun ne eklediğinden emin değilim? benim kodumda gerçekten yardımcı olmuyor.
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)
}
}
Hangi satırda hata var? Hatanın nerede olduğunu bulmak için bir özel durum kesme noktası eklediniz mi? – Fogmeister
cell.name.text = adlar [indexPath! .item] bir iş parçacığı alır1: EXC_BAD_INSTRUCTION (kod = EXC_1386_INVOP, altkökü = 0x0) –
Belki de aptalım ancak 'var adlarını' kapsamı dışında tanımlıyorsunuz 'viewDidLoad'. Şüphesiz, var ... 'var isimleri ', sadece viewDidLoad değil, tüm nesnenin kapsamında tanımlamalıdır. – Fogmeister