2010-09-07 34 views
4

當我的ViewController獲取釋放時,我的應用崩潰,而我的CATiledLayer正在檢索要在後臺線程中繪製的圖像。我得到一個消息CATiledLayer drawLayer:inContext:崩潰當視圖被釋放而正在檢索要繪製的圖像

-[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的某些實例,因爲我不需要它了。但是,當它從後臺線程返回時,我該如何阻止它崩潰?

回答

6

解決了它。當釋放MyViewController時,我應該將CATiledLayer的委託設置爲零。我會記得從現在開始爲代表們做這件事。

相關問題