-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS11系统,偶发闪退 #18
Comments
好的,非常感谢提醒,虽然目前没有条件复现,但是今天我会更新一下代码。 |
测试了一下你提供的代码会产生错误,params.cycleWay == .forward时不能自动滚动。 |
两个判断条件 |
可以帮我测试一下在:private func refreshData() 方法中使用下面代码吗? |
对,就是第二个条件用这种循环滚动方式(params.cycleWay == .forward)会返回空。 |
params.cycleWay == .forward 这样设置的情况下是吧 |
对,然后你使用我提供你的代码 看一下能解决你的问题吗 |
好的,我稍后试一下这段代码,测试设备在占用中 |
我尝试添加performBatchUpdates方法,在 iOS11、12、14系统运行,目前没有发现crash问题了。 |
好的 谢谢 |
func scrollToIndexPath(_ indexPath: IndexPath, animated: Bool) { }
方法内部调用collectionView滚动方法,在系统版本低的设备上会触发闪退的情况。
断点分析为collectionView未刷新完成,调用scrollToItem导致。
解决办法:
我尝试在滚动之前,判断要求滚动到的index是否合法,且滚动到的位置是否有item,可以解决闪退问题
添加的判断代码如下:
guard collectionView.numberOfItems(inSection: indexPath.section) > indexPath.row, let _ = collectionView.dataSource?.collectionView(collectionView, cellForItemAt: indexPath) else { return }
The text was updated successfully, but these errors were encountered: