Обновление UI на dispatch_get_main_queue()

У меня есть один вопрос, связанный с обновлением пользовательского интерфейса в основном потоке с помощью очередей.

Ну, предположим, мы создаем UITableView, который показывает UILabel с UIImageView. UIImage's загружаются асинхронно в prepareCellfor... using:

 dispatch_async(t_queue, ^{
   //load image
   //dispatch_async(dispatch_get_main_queue(),^{
     cell.imageView = image;
   }
 });

Но пока блок получает изображение, пользователь нажимает одну ячейку (или кнопку назад на контроллере навигационного представления) и загружает de DetailViewController для этой ячейки (или возвращается назад в приложение).

Мой вопрос: что происходит, когда блок запускает основной поток для обновления imageView для ячейки? Он пытается обновить UIView, который не загружен в окне или даже может быть выгружен...

Спасибо

9
задан xger86x 1 February 2012 в 23:35
поделиться