IOS把圖片緩存到本地的幾種方法

一.把圖片轉為base64的字符串存到數據庫中或者plist文件中,然后用到的時候再取出來

    //獲取沙盒路徑,
    NSString *path_sandox = NSHomeDirectory();
    //創建一個存儲plist文件的路徑
    NSString *newPath = [path_sandox stringByAppendingPathComponent:@"/Documents/pic.plist"];
    NSMutableArray *arr = [[NSMutableArray alloc] init];
    //把圖片轉換為Base64的字符串
    NSString *image64 = [self encodeToBase64String:image];
    [arr addObject:image64];
    //寫入plist文件
    if ([arr writeToFile:newPath atomically:YES]) {
        NSLog(@"寫入成功");
    };

這樣就存起來的,然后用到的時候再利用存儲的字符串轉化為圖片

NSData *_decodedImageData   = [[NSData alloc] initWithBase64Encoding:image64];

    UIImage *_decodedImage      = [UIImage imageWithData:_decodedImageData];

二.把圖片直接保存到沙盒中,然后再把路徑存儲起來,等到用圖片的時候先獲取圖片的路徑,再通過路徑拿到圖片

//拿到圖片UIImage *image = [UIImage imageNamed:@"flower.png"]; NSString *path_sandox = NSHomeDirectory();//設置一個圖片的存儲路徑NSString *imagePath = [path_sandox stringByAppendingString:@"/Documents/flower.png"];//把圖片直接保存到指定的路徑(同時應該把圖片的路徑imagePath存起來,下次就可以直接用來?。UIImagePNGRepresentation(image) writeToFile:imagePath atomically:YES];

下次利用圖片的地址直接來拿圖片。 
同時附上獲取沙盒目錄的代碼 
沙盒文件目錄獲取代碼:

//Home目錄

NSString *homeDirectory = NSHomeDirectory();

//Document目錄

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  NSString *path = [paths objectAtIndex:0];

//Cache目錄

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);  NSString *path = [paths objectAtIndex:0];

//Libaray目錄

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);  NSString *path = [paths objectAtIndex:0];

來源:中國開源

上一篇: 想要打造iOS 10應用?蘋果分享設計資源了

下一篇: iOS架構設計解耦的嘗試之??榧渫ㄐ?/a>

重庆时时在线开奖预测 三公技巧免费视频教程 手机赌龙虎稳赢法 11选5哪个计划软件好用 大乐透预测号码 极速pk10单双技巧 排列三稳赚的投注技巧 摇皇上骰子玩法 3期计划防止连挂倍投法 通比牛牛新手攻略 抢庄牛牛 福彩欢乐生肖怎么玩 重庆时时如何取款 双色球有什么规律和技巧 北京pk赛车稳赚不赔技巧 第二位杀号