1. ホーム
  2. ios

[解決済み] UICollectionViewCellのアウトレットがnilであるのはなぜですか?

2022-04-27 03:39:56

質問

Interface BuilderでカスタムUICollectionViewCellを作成し、その上のビューをクラスにバインドしました。そして、文字列のラベルを使用して設定したいとき、thaラベルはnil値を持っています。

override func viewDidLoad() {
    super.viewDidLoad()

    // Register cell classes
    self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")
}

override func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell! {

    var cell: LeftMenuCollectionViewCell
    cell = collectionView.dequeueReusableCellWithReuseIdentifier("ls", forIndexPath: indexPath) as LeftMenuCollectionViewCell
    println(cell.label) // <- this is nil, why??
    cell.label.text = "asd"

    return cell
}

そして、サブクラス化されたセル。

class LeftMenuCollectionViewCell: UICollectionViewCell {

    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var activityIndicatorView: UIActivityIndicatorView!
}

どのように解決するのですか?

私は電話をしています。 self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls") をもう一度。 ストーリーボードを使用している場合は、これを呼び出したくありません。 . ストーリーボードにあるものを上書きしてしまいます。

それでも問題が解決しない場合は、次のことを確認してください。 reuseIdentifier でございます 同じ において dequeueReusableCellWithReuseIdentifier において storyboard .