Я получаю этот странный сбой в моем производственном приложении. Авария не частая, и я не могу ее воспроизвести.
Crashed: com.apple.root.background-qos
0 AppName 0x104a4c040 ViewController.(collectionView(UICollectionView, cellForItemAt : IndexPath) -> UICollectionViewCell).(closure #1) (ViewController.swift:1018)
1 AppName 0x104a95270 _T0Ieg_IeyB_TR (Gif.swift)
2 libdispatch.dylib 0x1821cd088 _dispatch_call_block_and_release + 24
3 libdispatch.dylib 0x1821cd048 _dispatch_client_callout + 16
4 libdispatch.dylib 0x1821da378 _dispatch_root_queue_drain + 1028
5 libdispatch.dylib 0x1821d9f10 _dispatch_worker_thread3 + 120
6 libsystem_pthread.dylib 0x182473130 _pthread_wqthread + 1268
7 libsystem_pthread.dylib 0x182472c30 start_wqthread + 4
Я обновлял основной объект данных в cellForItemAt IndexPath collectionView, используя фоновую очередь. Я использую контекст управляемого объекта parent-child для обновления основных данных.
В строке 1018 у меня есть
DispatchQueue.global(qos: .background).async {
DatabaseOperations.sharedInstance.incomingMessageRead(true, message.messageId!)
}
Который находится в методе cellForItem. Кто-нибудь может дать мне знать, что является причиной аварии и что я могу сделать, чтобы предотвратить ее? Спасибо.