我正在制作一个集合视图,并制作了我自己的自定义collectionCell。我已经在身份检查员中指明了这一点,据我所知,我已经做好了一切。
代码是
import UIKit
class SubjectCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var label: UILabel!
}
和我的collectionViewController
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! SubjectCollectionViewCell
return cell
}
我收到以下错误消息
“无法将'UICollectionViewCell'类型的值(0x110460820)转换为'project.SubjectCollectionViewCell'(0x10eceeda0)。 (LLDB)“
答案 0 :(得分:12)
请参阅:Could not cast value of type 'UICollectionViewCell'
如果你在collectionViewController中看到这个,请删除它。
self.collectionView!.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
答案 1 :(得分:3)
在viewDidLoad()中,Xcode会自动生成这样的一行来定义单元格:
self.collectionView!.register(UICollectionViewCell.self,forCellWithReuseIdentifier:reuseIdentifier)
你正在创建自己的方法来执行此操作,因此,您需要在viewDidLoad()中删除由Xcode自动生成的行
答案 2 :(得分:-2)
您是否注册了reuseIdentifier,以便创建正确类的对象?