Я работаю над приложением, которое обращается к серверу и извлекает некоторые данные со встроенным в него URL-адресом изображения. Я хочу отобразить эти изображения на виде и получаю их так:
UIImageView *ivAvatar = [[UIImageView alloc] initWithImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:self.avatarUrl]]]];
[self.view addSubview:ivAvatar];
[ivAvatar release];
Однако всякий раз, когда данные извлекаются (например, при запуске приложения), возникает задержка между извлечением данных и возможностью пользователя взаимодействовать с приложением из-за характера блокировки dataWithContentsofURL
.
Как правильно выполнять «асинхронную» загрузку изображений? Мне нужно, чтобы пользовательский интерфейс был отзывчивым и загружал все остальные извлекаемые данные, но загружал изображения, в то же время позволяя пользовательскому интерфейсу быть отзывчивым.
Есть предложения?