ios - 在 iOS 15 上应用快照时崩溃 UICollectionViewFlowLayout

标签 ios swift uikit uicollectionviewflowlayout uicollectionviewdiffabledatasource

我有一个带有简单 UICollectionViewFlowLayoutUICollectionView。在 iOS 15 上,首次加载 View 和设置项目时发生异常。

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

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 上运行相同的项目不会崩溃。

最佳答案

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

dataSource.apply(snapshot, animatingDifferences: true)

dataSource.apply(snapshot, animatingDifferences: false)

关于ios - 在 iOS 15 上应用快照时崩溃 UICollectionViewFlowLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70064358/

相关文章:

ios - 检查用户连续使用应用的天数

ios - 启动屏幕问题

ios - 设置旧部署 Xcode5

ios - Facebook 登录权限 API

objective-c - 具有多个条件的“if”语句

ios - 将目标添加到闭包内的按钮不起作用

ios - UIVisualEffectView 'disappears' 当放置在白色背景下时

ios - 将值传递给下一个 viewController 不起作用

swift - 表格 View 的替代方案

swift - 使用 Parse 加载和缓存数组或 PDF 文件以加载到 WebView - Swift