gpt4 book ai didi

UICollectionView 对陈旧数据的断言错误

转载 作者:行者123 更新时间:2023-12-02 23:58:41 29 4
gpt4 key购买 nike

在尝试从我的 Collection View 中卸载一批图像,然后用另一批图像替换它们的过程中,我遇到了一个错误,具体取决于原始图像组或后续图像组是大于还是小于预期替换时,会发生断言错误:

*** Assertion failure in -[UICollectionViewData validateLayoutInRect:], 
/SourceCache/UIKit_Sim/UIKit-2891.1/UICollectionViewData.m:341
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'UICollectionView recieved layout attributes for a cell with an
index path that does not exist: <NSIndexPath: 0xb141c60> {length = 2, path = 0 - 2}

在这种情况下,现有的图像列表计数为 5,新的图像列表计数为 2。因此,当到达第三个图像时 - 发生异常 - 表明 UI CollectionViewDataDelegate 不知道更改数据流。

关于如何确保 UICollectionView 引用新图像有什么建议吗?当然我已经调用了“reloadData”...

谢谢

最佳答案

我遇到了同样的问题。代码在 6.1 下运行,在 7.0 下崩溃我通过以下方式解决了这个问题:

在函数中

-(NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView

我打电话

[myCollectionView.collectionViewLayout invalidateLayout];

仅此而已。

关于UICollectionView 对陈旧数据的断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18339030/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com