我正在使用UICollectionViewCompositionalLayout在我的应用程序中构建一个新屏幕。我每个部分都有不同的布局,所以我使用的是部分提供程序初始化程序。
我希望能够根据传递给提供者的布局环境隐藏和显示一些部分。不知何故,我的印象是我可以通过简单地返回一个nil
部分来做到这一点——返回类型是可以为空的——但是当我返回一个 nil 部分时,我得到了一个异常:
*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效的部分定义。当要为一个部分呈现内容时,请指定一个有效的部分定义。这是一个客户错误。
以 NSException CoreSimulator 757.3 类型的未捕获异常终止-设备:iPhone 12 Pro (C26C7431-8081-43CB-8E77-F79C8B8B3924)-运行时:iOS 14.4 (18D46)-设备类型:iPhone 12 Pro
在这里跳过一个部分的最佳方法是什么?如果返回 null 会引发异常,为什么节提供程序的返回类型可以为 null?