如何解决单元格永远不应处于更新动画中UICollectionView崩溃
我有 Cell永远不会出现在崩溃解析报告的UICollectionView
崩溃中崩溃
此崩溃仅发生于iOS 14上的用户。当应用程序使用SDK iOS 13时,此崩溃并不明显(受影响的用户不到0.01%)。但是在支持SDK iOS 14之后,崩溃频率明显增加到所有用户的0.25%
据我所知(在一些UIKit拆卸过程中),内部UICollectionView
遍历可见的单元格并检查单元格动画计数器是否等于零(否则它将在以下堆栈跟踪中崩溃)。不确定,但可能会在崩溃时发生
performBatchUpdates(_:completion:)
我无法重现此错误,也无法花更多时间研究UIKitCore的反汇编代码,试图了解该动画计数器何时以及为何发生变化
Fatal Exception: NSInternalInconsistencyException
0 CoreFoundation 0x1915e9114 __exceptionPreprocess
1 libobjc.A.dylib 0x1a4e0fcb4 objc_exception_throw
2 CoreFoundation 0x1914f8308 -[CFPrefsSearchListSource addManagedSourceForIdentifier:user:]
3 Foundation 0x1927dc2c8 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
4 UIKitCore 0x1935b8548 __43-[UICollectionView _updateVisibleCellsNow:]_block_invoke_4.1070
5 UIKitCore 0x1935b8000 __43-[UICollectionView _updateVisibleCellsNow:]_block_invoke.1053
6 libdispatch.dylib 0x191221298 _dispatch_call_block_and_release
7 libdispatch.dylib 0x191222280 _dispatch_client_callout
8 libdispatch.dylib 0x1911d123c _dispatch_main_queue_callback_4CF$VARIANT$mp
9 CoreFoundation 0x191568c30 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
10 CoreFoundation 0x1915630e8 __CFRunLoopRun
11 CoreFoundation 0x191562200 CFRunLoopRunSpecific
12 GraphicsServices 0x1a765d598 GSEventRunModal
13 UIKitCore 0x193e28004 -[UIApplication _run]
14 UIKitCore 0x193e2d5d8 UIApplicationMain
15 App 0x100dd2d1c main + 49 (main.m:49)
16 libdyld.dylib 0x191241598 start
有人遇到同样的问题吗?您能够复制它吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。