tvOS 13 DiffableDataSource 无效参数不满足:itemCount

tvOS 13 DiffableDataSource Invalid parameter not satisfying: itemCount

启动我的 tvOS 应用程序时,出现与 DiffableDataSource 相关的崩溃:Thread 1: Expection: "Invalid parameter not satisfying: itemCount"

发生在 dataSource.apply(snapshot) 线上。

在 Xcode 12 beta 4 上尝试 运行 时出现以下崩溃:

Thread 1: "Invalid update: invalid number of sections. The number of secxtions contained in the collection view after the update (1) must be equal to the number of sections contained in the collection view before hte update (1), plus or minus the number of sections inserted or deleted (1 inserted, 0 deleted)."

其中更详细,但仍未提供有关为什么会发生这种情况的信息。

相同的代码 运行 在 iOS 上没问题。

为什么会这样?

这种情况下的解决方案是将数据源代码移出 viewDidLoad 并移入 viewDidAppear

看起来它与一些计时问题或 tvOS 上的某些问题有关,看起来确实是 SDK 中的一个错误。