CATiledLayer drawLayer: inContext: сбой, когда представление освобождается во время получения изображения для рисования - PullRequest
4 голосов
/ 07 сентября 2010

Мое приложение падает, когда мой ViewController освобождается, когда мой CATiledLayer извлекает изображение для рисования в фоновом потоке.Я получаю сообщение

-[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, потому что он мне больше не нужен.Но как мне остановить его сбой, когда он возвращается из фонового потока?

1 Ответ

6 голосов
/ 08 сентября 2010

Решил это.Я должен был установить делегат CATiledLayer на ноль при освобождении MyViewController.Теперь я буду помнить об этом для делегатов.

...