두 경우 우리는 을 처리해야 오프라인
1. 온라인 : 앱은 다음 사용하는 것이 좋습니다 다음 온라인으로 만 지원하는 경우
EGOImageView을 추가하려면 다음 코드를 추가하려면 파일에 다음 행을 추가 * egoImgView = [[EGOImageView alloc] initWithFrame : CGRectMake (0, 0, 290, 118)]; complaintImgView.imageURLString = [NSString stringWithFormat : @ "% @", imageURLString];
2. 오프라인 : 앱이 온라인과 오프라인을 모두 지원
- , 그냥 coredata, 다운로드의 이미지 이름을 저장하고 문서 경로에 이미지를 저장합니다.
- 다음은 coredata에 저장된 이름으로 문서 경로에 이미지를 저장하는 코드입니다.
#define
DOCUMENTS_PATH [[NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex : 0] stringByAppendingPathComponent : @ "다운로드"]
이 문서 경로에 이미지를 저장하려면
- (void)saveImageSynchronouslyInDocumentsWithUrl:(NSString *)serverImageURL withName:(NSString` `*)coredataImageName`
{
NSLog(@"Synchronous Image urls %@",serverImageURL);
NSURL *url = [NSURL URLWithString: imageUrl];
NSString *imagePath = [DOCUMENTS_PATH stringByAppendingPathComponent:imageName];
NSError *error = nil;
NSData *imageData = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error: &error];
if (!error) {
[imageData writeToFile:imagePath atomically:YES];
}
}
으로 문서 경로에서 이미지 검색
UIImage *image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@",DOCUMENTS_PATH, coredataImageName]];
문서 폴더에 이러한 유형의 데이터를 저장하면 iOS 데이터 저장 가이드 라인을 위반하게되며 검토 중에 앱이 거부 될 수 있습니다. URL 로딩 시스템에서도 이미 데이터를 캐시하고 있으므로 캐시의 다른 계층을 추가 할 필요가 없습니다. – quellish