Ipad CATiledLayer drawLayer:INCOTEXT:在检索要绘制的图像时取消分配视图时崩溃

Ipad CATiledLayer drawLayer:INCOTEXT:在检索要绘制的图像时取消分配视图时崩溃,ipad,core-graphics,catiledlayer,Ipad,Core Graphics,Catiledlayer,当我的CATiledLayer正在检索要在背景线程中绘制的图像时,当我的ViewController被释放时,我的应用程序崩溃。我收到一条消息 -[MyViewController respondsToSelector:]: message sent to deallocated instance 0x8f58e00 调试器显示 0 ___forwarding___ 1 __forwarding_prep_0__ 2 -[CATiledLayer(CATiledLayerPrivate) ca

当我的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的特定实例,因为我不再需要它了。但是当它从后台线程返回时,如何阻止它崩溃呢?

解决了这个问题。解除分配MyViewController时,我应该将CATiledLayer的委托设置为nil。从现在起,我会记住为代表们做这件事