我基于xib进行了一个快速项目,并在添加了其委托的视图控制器中创建了一个集合视图,使用默认的collectionViewCell一切都很好

问题是当我创建自定义单元格时
我在xib中以正确的方式添加了重用标识符

然后在视图控制器的负载中添加这些行

collectionViewCarType.delegate = self;
collectionViewCarType.dataSource = self;
collectionViewCarType.registerClass(MainScreenCollectionViewCell.self, forCellWithReuseIdentifier: "MainScreenCollectionViewCell");

我添加了断点,它不会在这里崩溃

然后在:
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell

我添加了这些行:
var cell = collectionView.dequeueReusableCellWithReuseIdentifier("MainScreenCollectionViewCell", forIndexPath: indexPath) as! MainScreenCollectionViewCell
cell.backgroundColor = UIColor.redColor()
cell.labelOfTime.text = "10 mins"
cell.labelOfType.text = "Mini"

return cell

到达cell.labelOfTime.text时应用崩溃

当我删除标签2行时,它可以很好地为单元格上色

我也使2标签很强,并集合视图,但它也崩溃

我删除了xib并用其他名称创建它并尝试使用它,但是我也遇到了相同的错误

我是新手,我不知道该怎么做

最佳答案

您的问题是您创建了.xib,但是正在注册一个类:

let nib = UINib(nibName: view, bundle: nil)
collectionViewCarType.registerNib(nib, forCellWithReuseIdentifier: "MainScreenCollectionViewCell")

这意味着,当它加载您的类时,它只是被初始化了,不会从.xib中加载它,因此您的出口永远都不会设置。

关于ios - 快速致命错误中的自定义UICollectionViewCell,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32187581/

10-16 03:56