我正在为UICollectionViewCell实现自定义.xib,并且应用程序崩溃了:
由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'无法使类型的视图出列:具有标识符DaySelectorCell的UICollectionElementKindCell - 必须为标识符注册一个nib或类或连接一个故事板中的原型单元'
有几个答案表明标识符中有空格或缺少空格。我已经对所有内容进行了三重检查,而且它还在投掷。
这是我的xib的Storyboard配置:
这是我的DaySelectorCell.swift类:
import Foundation
import UIKit
class DaySelectorCell: UICollectionViewCell {
@IBOutlet weak var dayOfWeekButton: UIButton!
var dayNumber: Int = -1
}
我的collectionView委托实现:
extension CustomViewController: UICollectionViewDelegate, UICollectionViewDataSource {
let days = ["M", "T", "W", "T", "F", "S", "S"]
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let id = "DaySelectorCell"
var cell: DaySelectorCell! = self.daySelector.dequeueReusableCellWithReuseIdentifier(id, forIndexPath: indexPath) as? DaySelectorCell
if cell == nil {
collectionView.registerNib(UINib(nibName: id, bundle: nil), forCellWithReuseIdentifier: id)
cell = collectionView.dequeueReusableCellWithReuseIdentifier(id, forIndexPath: indexPath) as? DaySelectorCell
}
cell.dayOfWeekButton.setTitle(days[indexPath.row], forState: .Normal)
cell.dayNumber = indexPath.row
return cell
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 7
}
}
答案 0 :(得分:0)
如果dan的答案不起作用(并且您已经注册了单元格),请执行清理,手动删除Xcode的构建文件夹,退出Xcode,重新启动Mac并重试。 Apple在Xcode上做得非常糟糕......