2

我有UICollectionView一个简单的UICollectionViewFlowLayout. 在 iOS 15 上,首次加载视图并设置项目时会发生异常。

设置项目时在主线程上调用:

var snapshot = NSDiffableDataSourceSnapshot<Section, PageItem>()
snapshot.appendSections([.main])
snapshot.appendItems(filteredPages)
dataSource.apply(snapshot, animatingDifferences: true)

我收到以下异常:

'the invalidation context ((null)) sent to -[UICollectionViewFlowLayout invalidateLayoutWithContext:] is not an instance of type UICollectionViewFlowLayoutInvalidationContext or a subclass'
terminating with uncaught exception of type NSException

在 iOS 14 上运行相同的项目不会崩溃。

4

1 回答 1

0

问题是动画变化,所以改变:

dataSource.apply(snapshot, animatingDifferences: true)

dataSource.apply(snapshot, animatingDifferences: false)
于 2022-01-27T13:44:55.217 回答