这是我在使用 iOS 9 和 10 的设备上遇到的错误:
*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“当集合视图中只有 1 个部分时,请求第 9223372036854775807 部分之前的项目数”
这个错误对我来说似乎很清楚,但是我无法理解为什么在装有 iOS 11 的设备上没有发生这种情况。
我不知道如何解决它。
这是我的代码:
extension MainTileViewController: MainForecastsDelegate {
func mainForecasts(_ forecastVC: MainForecastsViewController!, didChangeWith object: Any!) {
if let cell = self.outletWeatherForecastCollectionView.cellForItem(at: self.currentIndexPath) as? MainTileCollectionViewCell {
// Some stuff...
}
}
崩溃发生在这里。这是当用户切换日期等时触发的协议方法......
显然我的 currentIndexPath 有问题。
这是我的初始化:
var currentIndexPath : IndexPath = []
在 viewDidLoad 中:
self.currentIndexPath = IndexPath(item: 0, section: 0)
如何保护我的代码以使其不会崩溃?你能解释一下从 iOS 9/10 到 iOS 11 的 collectionView 之间的变化行为吗(预取除外)。