발을 NSData 로딩을 중지 I 기본적 배열로 이미지 데이터의 어레이를로드하기 방법을 가지고서버
예를 들어, 사용자가 멀리 이동하는 경우, I가 막을 수 있도록 할-(void)loadImages:(NSMutableArray*)imagesURLS{
//_indexOfLastImageLoaded = 0;
[_loadedImages removeAllObjects];
_loadedImages = [[NSMutableArray alloc]init];;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
for (int i=0; i<imagesURLS.count;i++){
NSLog(@"loading image for main image holder at index %i",i);
NSData *imgData = [NSData dataWithContentsOfURL:[imagesURLS objectAtIndex:i]];
UIImage *img = [UIImage imageWithData:imgData];
[_loadedImages addObject:img];
//_indexOfLastImageLoaded++;
}
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"_loadedImages download COMPLETE");
});
});
}
보기 컨트롤러에서 이러한 이미지를로드 할 수 있습니다. 이렇게하는 가장 좋은 방법은 무엇입니까?
감사합니다.
이 기능을 사용하여 배열에서 이미지를로드하는 경우에도 모든 이미지를 다운로드하기 전에이 기능을 사용할 수 있습니까? 예를 들어 사용자가 인덱스 3의 이미지를로드하려고하고 데이터 배열 수가 3보다 크면 데이터에서 이미지를로드하고 그렇지 않으면 URL에서로드합니다. 설명에서이 클래스는 모든 데이터가 도착한 후에 만 데이터에서 이미지를로드 할 수있게합니다. – royherma
사진 하나당 하나의 NSURLConnection 객체를 사용하여 다운로드 할 수 있습니다. 이 클래스의 여러 인스턴스를 다운로드 관리자/컨트롤러에 보관할 수 있습니다. 이 기능을 NSOperation 하위 클래스에 포함시킬 수도 있습니다. [objc.io]에서 자세한 내용보기 (http://www.objc.io/issue-2/common-background-practices.html) – MJN