Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 集合视图批更新崩溃_Ios_Objective C - Fatal编程技术网

Ios 集合视图批更新崩溃

Ios 集合视图批更新崩溃,ios,objective-c,Ios,Objective C,我间歇性地收到带有以下错误的Crashlytics报告: Crashed: com.apple.main-thread EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0000000e raw libobjc.A.dylib objc_msgSend + 5 1 UIKit -[UICollectionViewUpdate _computeItemUpdates] + 1588 2 UIKit -[UICollectionViewUpdate

我间歇性地收到带有以下错误的
Crashlytics
报告:

Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0000000e
 raw

libobjc.A.dylib 
objc_msgSend + 5
1
UIKit   
-[UICollectionViewUpdate _computeItemUpdates] + 1588
2
UIKit   
-[UICollectionViewUpdate initWithCollectionView:updateItems:oldModel:newModel:oldVisibleBounds:newVisibleBounds:] + 254
3
UIKit   
-[UICollectionView _endItemAnimations] + 6904
4
UIKit   
-[UICollectionView performBatchUpdates:completion:] + 386

我如何调试这个?崩溃似乎是
UICollectionView
的内部故障。这是否意味着崩溃是Apple SDK内部的?

您可以添加一个符号断点,并将
-[UICollectionViewUpdate\u ComputeItemUpdate]
作为值。无论何时调用该方法,您都能够导航堆栈跟踪,并(希望)看到崩溃前最后调用的代码行

这种方法的缺点是,你可能会遇到很多没有崩溃的停顿,但它会让你知道它是从哪里来的。在代码中找到崩溃源后,取消设置断点并更改一个值或设置与单元格相关的内容,直到导致崩溃发生


这通常是我从Flurry的崩溃报告中跟踪崩溃的方法。半年前您已经问过这个问题,如果您找到了跟踪这些类型错误的解决方案,我将非常感谢您的分享:)

看到传递给PerformBatchUpdate的块可能会很有趣。我注意到,在尝试将两个项目添加到同一位置并移动到同一位置时,此处会出现崩溃。这里似乎发生了实际的内存损坏。如果它不在这里崩溃,它会在以后崩溃。