我正在尝试将值从UiCollectionViewController传递给UICollectionViewCell
我在情节提要中创建了一个连接到CellView的自定义UICollectionViewCell。然后,我创建了一个UILabel IBOutlet。

当我尝试向我的UICollectionViewCell类发送值时,总是出现错误:

fatal error: unexpectedly found nil while unwrapping an Optional value


这是从行中来的:

videoCell.nameUsrVideo.text = "TEST"


而且我看不到单元格中有任何物体

知道为什么吗?

UiCollectionViewController:

override func viewDidLoad() {

    super.viewDidLoad()

            collectionView!.registerClass(videoCellClass.self, forCellWithReuseIdentifier: "VideoCell")

    }

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

        let videoCell = collectionView.dequeueReusableCellWithReuseIdentifier("VideoCell", forIndexPath: indexPath) as! videoCellClass

        videoCell.nameUsrVideo.text = "TEST"

        return videoCell
    }


UICollectionViewCell:

class videoCellClass: UICollectionViewCell {

    @IBOutlet weak var nameUsrVideo: UILabel!

    override init(frame: CGRect) {



        super.init(frame: frame)



    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

}

最佳答案

您需要删除该行

collectionView!.registerClass(videoCellClass.self, forCellWithReuseIdentifier: "VideoCell")


因为它用简单的类注册代替了具有所有插座定义的情节提要中的单元格注册。这意味着当您调用dequeueReusableCellWithReuseIdentifier时,不会从情节提要中取消存档单元,并且没有任何出口。

关于ios - SWIFT 2-无法将值从UICollectionViewController传递到UICollectionViewCell。发现NIL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33463298/

10-13 03:15