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