我要離線使用我的應用程序。所以,我應該下載我將在視圖中使用的所有圖像。如何將圖像下載到本地磁盤並在視圖控制器中設置圖像視圖的圖像?
我正在使用AFNetworking的緩存機制。但顯示圖像時速度很慢。
因此,我想從服務器下載文件,並根據需要設置圖像瀏覽的圖像。
這是一個很好的方法嗎?
我要離線使用我的應用程序。所以,我應該下載我將在視圖中使用的所有圖像。如何將圖像下載到本地磁盤並在視圖控制器中設置圖像視圖的圖像?
我正在使用AFNetworking的緩存機制。但顯示圖像時速度很慢。
因此,我想從服務器下載文件,並根據需要設置圖像瀏覽的圖像。
這是一個很好的方法嗎?
我開始使用https://github.com/rs/SDWebImage,現在一切都很好。
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 - 它爲脫機使用,這可能對您有用緩存。它還包含一個佔位符圖像方法。
我花了很多天試圖找出最好的方法來做到這一點,看到我的回答here for a similar question。
當你說「AFNetworking的緩存機制」 - 是指你使用'NSURLCache',還是'AFNetworking + UIImageView'類中使用的AFImageCache?後者將比前者更高效。 –
我正在使用AFNetworking + UIImageView – Burak