一尘不染

为什么UICollectionViewCell的出口为零?

swift

我在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!
}

阅读 231

收藏
2020-07-07

共1个答案

一尘不染

我再打self.collectionView.registerClass(LeftMenuCollectionViewCell.self, forCellWithReuseIdentifier: "ls")一次。 如果您使用的是情节提要,则不想调用此功能 。它将覆盖情节提要中的内容。

如果您仍然有问题请检查是否reuseIdentifier相同
dequeueReusableCellWithReuseIdentifier ,并storyboard

2020-07-07