브라우저에 복사하면 이미지가 표시되는 URL이 있습니다. 내 함수는 이미지를 비동기 적으로 다운로드해야한다.그랜드 센트럴 파견을 사용하여 UIImage 다운로드
- (UIImage *)downloadImage:(NSString *)imageURL
{
NSError *error = nil;
NSURL *urlString = [NSURL URLWithString:imageURL];
NSData *data = [NSData dataWithContentsOfURL:urlString options:NSDataReadingUncached error:&error];
__block UIImage *image;
if (!error) {
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
image = [UIImage imageWithData:data];
});
return image;
} else {
NSLog(@"%@", [error localizedDescription]);
}
return nil;
}
UIImageView
에 이미지를 표시하려고 할 때 아무런 오류가없고 아무것도 표시되지 않습니다. NSLogged out data
및 imageURL
전달 된 있고 그 중 누구도 비어 있습니다.
제안 사항?
좋은 눈을. 필요한 조정을 할 것입니다. –
블록에 오류가 있으면 다른 사람의 대답과 같이 되돌릴 수 있습니다. – MJN
또한 NSURLSession 및 다운로드 작업을 확인해야합니다. 'dataFromURL'을 사용하면 모든 이미지 데이터를 메모리에로드하므로 문제가 발생할 수 있습니다 (이미지가 큽니다). – MJN