自定义CollectionViewCell快速致命错误

时间:2015-08-24 16:50:06

标签: ios iphone swift uicollectionview

我做了一个基于xib的swift项目,我在视图控制器中创建了一个集合视图,添加了它的委托,使用默认的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并使用不同的名称创建它并尝试使用它但我也得到了同样的错误

我是swift的新手,我不知道我能做些什么

1 个答案:

答案 0 :(得分:0)

你可以在storyBoard中做很多事情,也许它会有所帮助。 首先,您可以通过storyBoard连接委托和dataSource - 只需从集合视图中拖动,这样您就不需要自己编写(但这不是问题)。

第二件事是您不需要创建nib文件而且您不必注册该单元的类。

  1. 添加新的类文件 - 自定义的UICollectionViewCell类 - 应该如下所示:
  2. class customCell :UICollection {//implementation goes here}
    
    1. collectionViewCell拖到collectionView

      1. 在自定义类部分的身份检查器中,将单元格的类更改为您刚刚创建的类的名称。

      2. 在属性检查器中添加标识符

      3. 添加您想要的单元格(图像,标签等)并将它们连接到您创建的类。

    2. 这将使它变得更容易,无论如何这里有一些可能有帮助的参考。

      documentation http://www.ioscreator.com/tutorials/custom-collection-view-cell-tutorial-ios8-swift