2012-06-19 2 views
1

я следующий код для загрузки изображения из URL в XML-метода синтаксического анализа EndElement:Загрузка изображений в кэш

food.image=strVal; 
NSData *data=[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:strVal]]; 
UIImage *image=[[UIImage alloc]initWithData:data]; 
food.myImage=image; 

Хотя я использую эти загруженные изображения в конце приложения, мое приложение должно ждать, пока все изображение загружается. Я должен использовать кеш здесь, но я смущен, как использовать кеш в этом приложении. Есть ли другой путь?

+1

я действительно могу предположить, что вы посмотрите на [AFNetworking] (https://github.com/AFNetworking/AFNetworking/), они создают большое расширение на 'UIImageView' для загрузки и кэширования изображений. – rckoenes

+0

попробовать это: http://stackoverflow.com/questions/2149929/how-to-know-when-nsdatas-initwithcontentsofurl-has-finished-loading – sachin

ответ

0

Попробуйте этот код это не будет создавать нагрузку на основной поток: -

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0); 

dispatch_async(queue, ^{ 

    NSData *data=[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:yourURL]]; 
    UIImage *image=[[UIImage alloc]initWithData:data]; 

    dispatch_sync(dispatch_get_main_queue(), ^{ 
     [yourImageView setImage:image]; 

    }); 
}); 
+0

я получаю exec_bad_access в очереди –

+0

показать мне свой код – Leena

Смежные вопросы