我的水平集合视图(仅当它有 0 个单元格时)在尝试刷新父视图时导致崩溃。当集合视图有 0 个项目(即“shownStations”)时,集合视图被隐藏。刷新父视图时,将进行 API 调用以获取集合视图的任何可用项目。与错误消息(如下)相关的集合视图的代码如下:
if self.shownStations.isEmpty {
self.stationCollectionView?.frame = CGRect(x: 0, y: 0, width: 0, height: 0)
} else {
self.stationCollectionView?.frame = CGRect(x: 0, y: 0, width: 414, height: 150)
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
if !self.hiddenStations.isEmpty {
return shownStations.count + 1
} else {
return shownStations.count
}
}
Run Code Online (Sandbox Code Playgroud)
错误消息: *** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“当第 0 节中只有 0 个项目时,尝试将集合视图滚动到越界项目 (0)。集合视图:< UICollectionView:0x7fc5b101f800;帧=(0 0;0 0);剪辑边界=是;自动调整大小 = RM+BM; 手势识别器 = <NSArray: 0x6000022b9fb0>; 层 = <CALayer: 0x600002cd1540>; 内容偏移: …
当我运行我的应用程序并使用表视图测试视图控制器时,会创建以下错误:
由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[<UITableViewCell 0x7ff068023b30> setValue:forUndefinedKey:]:此类与键 albumImageView 的键值编码不兼容。”
我通过复制另一个 UITableViewCell xib 文件和视图控制器并进行必要的修改来创建此单元格。我尝试删除并重新创建与新视图控制器的所有插座连接。为表视图单元格正确输入了自定义类。
如果有人对如何修复此错误有建议,我将不胜感激。