これは、iOS 9 および 10 を搭載したデバイスで発生するエラーです。
*** キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。
エラーは明らかですが、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 の collectionView と iOS 11 の collectionView (プリフェッチを除く) の間の動作の変化について説明していただけますか。