我正在通过情节提要为我的应用程序构建一个集合视图,并且我已经完成了该集合视图的整个设置。我创建了UICollectionViewController
,并且为UICollectionViewController
创建了一个代码文件。我还为原型CollectionViewCell
创建了一个代码文件,并为其分配了重用标识符。我创建了一条让所有错误都可以检测到的致命警戒语句,并且已经将CollectionViewCell
出队。
我在导入声明下方的类行上方编写了此代码。
private let reuseIdentifier = "TileCell"
我在类中编写了此覆盖函数。
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as? TileCollectionViewCell else {
fatalError("The dequeued cell is not an instance of TileCollectionViewCell")
}
// Configure the cell
return cell
}
但是,当我在模拟器中运行该应用程序时,该应用程序崩溃并从Guard-let语句中将and错误返回到控制台:
出队的单元格不是TileCollectionViewCell的实例
为什么返回此错误?
答案 0 :(得分:1)
设置集合视图时调用register(_:forCellWithReuseIdentifier:)
方法
collectionView.register(TileCollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)
答案 1 :(得分:0)
要检查的事情: