0
私は自分のコードで使用しているカスタムUICollectionReusableView、HeaderCollectionReusableViewを持っています。それにはUILabelも含まれています。私はラベルを使用するために行くとき、それは何らかの理由でnilです。最初にクラスを登録してからデキューして呼び出そうとします。私は何が欠けていますか?UICollectionReusableView内のラベルは常にゼロです
override func viewDidLoad(){
super.viewDidLoad()
collectionView?.register(HeaderCollectionReusableView.self, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: colReusableViewIdentifier)
self.collectionView?.collectionViewLayout = UICollectionViewFlowLayout()
}
@objc override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
let headerReusableView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, withReuseIdentifier: colReusableViewIdentifier, for: indexPath) as! HeaderCollectionReusableView
headerReusableView.headerLabel.text = "Reacshn"
return headerReusableView
}
を使用してのviewDidLoadで登録するには、明示的にHeaderCollectionReusableViewを登録すると、nilのラベルの問題を引き起こしていたことを終わりました。私の場合、単にプロジェクトをきれいにして、登録呼び出しなしで再ビルドするだけでした。 –