アプリケーションをオフラインで使用します。したがって、ビューで使用するすべての画像をダウンロードする必要があります。
AFNetworking のキャッシュ メカニズムを使用しています。しかし、画像を表示している間は遅いです。
したがって、必要に応じてサーバーからファイルをダウンロードし、イメージビューのイメージをローカル パスから設定したいと考えています。
それを行うのは良い方法ですか?
アプリケーションをオフラインで使用します。したがって、ビューで使用するすべての画像をダウンロードする必要があります。
AFNetworking のキャッシュ メカニズムを使用しています。しかし、画像を表示している間は遅いです。
したがって、必要に応じてサーバーからファイルをダウンロードし、イメージビューのイメージをローカル パスから設定したいと考えています。
それを行うのは良い方法ですか?
NSData *data = [[NSData alloc] initWithContentsOfFile:[NSURL URLWithString:@"imageURL"]];
UIImage *img = [UIImage imageWithData:data];
imageView.image = img;
NSString *path = @"your path";
[UIImagePNGRepresentation(img) writeToFile:[path stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", {name}, @"png"]] options:NSAtomicWrite error:nil];
// when accessing it
UIImage *diskImage = [UIImage imageWithContentsOfFile:path];
または、これを使用できます: https://github.com/rs/SDWebImage -- オフラインで使用するためのキャッシュがあり、役立つ場合があります。また、プレースホルダー イメージ メソッドも含まれています。