当我的 CATiledLayer 正在检索图像以在后台线程中绘制时,当我的 ViewController 被释放时,我的应用程序崩溃了。我收到一条消息
-[MyViewController respondsToSelector:]: message sent to deallocated instance 0x8f58e00
并且调试器显示
0 ___forwarding___
1 __forwarding_prep_0__
2 -[CATiledLayer(CATiledLayerPrivate) canDrawRect:levelOfDetail:]
3 tiled_layer_render
4 CAImageProviderThread
5 CAImageProviderBackgroundThread
6 CA::DispatchGroup::thread
7 thread_fun
8 _pthread_start
现在,我确实想释放 MyViewController 的某个实例,因为我不再需要它了。但是当它从后台线程返回时,如何阻止它崩溃呢?