我做廣告頁面時,由于不是太主要的模塊 不需要時時更新,那么為了APP的流暢性 就選擇了保存沙盒里,下次再從里面讀取.
1.第一步比較簡單 ?從網絡獲取圖片
NSData *data = [NSData dataWithContentsOfURL:[NSURL? URLWithString:urlStr]];// 本地
UIImage *image = [UIImage imageWithData:data]; // 取得圖片
2.第二步 ? 打開沙盒 創(chuàng)建 存儲圖片的路徑
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
// 得到本地沙盒中名為"MyImage"的路徑勺阐,"MyImage"是保存的圖片名
NSString *imageFilePath1 = [path stringByAppendingPathComponent:@"MyImage"];
3.第三步 壓縮 并按照路徑存儲圖片 ?壓縮的比例自己定義 ?我是用的 0.5.
其中0.5表示壓縮比例,1表示不壓縮攘滩,數值越小壓縮比例越大.
BOOL success = [UIImageJPEGRepresentation(image, 0.5) writeToFile:imageFilePath1? atomically:YES];
if (success){
NSLog(@"寫入本地成功");
}
4.第四步 就是根據路徑從沙盒里取出圖片了?
// 本地沙盒目錄
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
// 得到本地沙盒中名為"MyImage"的路徑仇让,"MyImage"是保存的圖片名
NSString *imageFilePath = [path stringByAppendingPathComponent:@"MyImage"];
UIImage *image = [UIImage imageWithContentsOfFile:imageFilePath]]