gpt4 book ai didi

ios - CollectionView.ReloadItemsForIndexPaths swift 崩溃

转载 作者:行者123 更新时间:2023-11-29 01:33:27 25 4
gpt4 key购买 nike

这是崩溃的代码

 for var i=0;i<Data.NearByList.count;i++ {

if let collectionView = collview {
collectionView.reloadItemsAtIndexPaths([NSIndexPath(forItem: i, inSection: 0)])
}

}

我想在 viewdidApear 中重新加载 collectionView 数据,因为某些图像显示不正确但总是得到这个错误

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSStackBlock__ _setNeedsFocusItemOverlayUpdate]:无法识别的选择器发送到实例 0x45426c”
*** 首先抛出调用栈:
(0x2799386b 0x39092dff 0x27999035 0x27996c8f 0x278c62b8 0x2c2387d3 0x2c238379 0x2bb09dc3 0x2c241e7b 0x2bc82b45 0x2c2435fd 0x 2bab3abd 0x2c242e25 0x2c2413fd 0x2bc7ea1d 0x1efe9c 0x2029e4 0x28694b8b 0x27947ffd 0x27947a0b 0x279477e1 0x2799bac3 0x278a904b 0x2 8692317 0x28696e4b 0x1fe0ec 0x117a6c 0xfe684 0x117bfc 0x27218a25 0x28750a05 0x286b24af 0x286a48bf 0x28752cc5 0x14bbdab 0x14c0829 0 x27956595 0x27954a8f 0x278a71e9 0x278a6fdd 0x30b4baf9 0x2bb0c18d 0x1f51a8 0x397bd873)
libc++abi.dylib:以 NSException 类型的未捕获异常终止

谁能找到解决办法

最佳答案

您没有将此选择器直接发送到实例,但 collectionview 正在发送它,因为它想要更新单元格。

首先,确保 indexPath 存在,因为您正在重新加载大量单元格,您可以创建一个包含 indexPaths 的数组,然后一次重新加载所有内容,您还可以将 reload-call 包装到 performBatchUpdates 调用中,类似这样。

var indexPathsToReload = [NSIndexPath]()
for var i in 0..<Data.NearByList.count {
indexPathsToReload.append(NSIndexPath(forItem: i, inSection: 0))
}

然后你可以简单地一次重新加载

collectionView.reloadItemsAtIndexPaths(indexPathsToReload)

或者批量更新(你也可以包括其他更新)

collectionView.performBatchUpdates({ () -> Void in
collectionView.reloadItemsAtIndexPaths(indexPathsToReload)
// Any additional change
}) { (_) -> Void in
print("Finished")
}

关于ios - CollectionView.ReloadItemsForIndexPaths swift 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33210932/

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