2013-06-20 35 views
0

我要離線使用我的應用程序。所以,我應該下載我將在視圖中使用的所有圖像。如何將圖像下載到本地磁盤並在視圖控制器中設置圖像視圖的圖像?

我正在使用AFNetworking的緩存機制。但顯示圖像時速度很慢。

因此,我想從服務器下載文件,並根據需要設置圖像瀏覽的圖像。

這是一個很好的方法嗎?

+0

當你說「AFNetworking的緩存機制」 - 是指你使用'NSURLCache',還是'AFNetworking + UIImageView'類中使用的AFImageCache?後者將比前者更高效。 –

+0

我正在使用AFNetworking + UIImageView – Burak

回答

0

這些圖像是動態的嗎?如果它們不是,而不是下載它們,則可以將它們全部包含在應用程序的包中,以便在應用程序最初安裝時下載它們。

+0

當然是動態的。 – Burak

1
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 - 它爲脫機使用,這可能對您有用緩存。它還包含一個佔位符圖像方法。

相關問題