码迷,mamicode.com
首页 > 移动开发 > 详细

iOS笔记之文件读写

时间:2015-06-08 18:45:37      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

最近做的项目中要存储一组图片数据,图片带有name,date等属性,处理办法是讲image图片直接存在沙盒documents文件中,再使用plist文件存储图片属性和image路径。

存入图片:

- (void)savePhotos:(NSArray *)photos {
    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *plistPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"photo_info.plist"];
    NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Image"];
    NSLog(@"%@", filePath);
    
    NSFileManager* fileManager = [NSFileManager defaultManager];
    if (![fileManager fileExistsAtPath:plistPath]) {
        [fileManager createFileAtPath:plistPath contents:nil attributes:nil];
    }
    if (![fileManager fileExistsAtPath:filePath]) {
        [fileManager createDirectoryAtPath:filePath withIntermediateDirectories:NO attributes:nil error:nil];
    }

    NSMutableArray *savePhotos = [[NSMutableArray alloc] init];
    
    for (Photo *photo in photos) {
        NSMutableDictionary *info = [[NSMutableDictionary alloc]init];

        NSString *imagePath = [filePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.jpg", photo.name]];
        [UIImagePNGRepresentation(photo.image)writeToFile:imagePath atomically:YES];
        [info setObject:imagePath forKey:@"ImagePath"];
        [info setObject:photo.name forKey:@"Name"];
        [info setObject:photo.tags forKey:@"Tags"];
        [info setObject:photo.date forKey:@"Date"];
        
        [savePhotos addObject:info];
    }
    [savePhotos writeToFile:plistPath atomically:YES];
}

 

读取图片:

- (NSArray *)loadPhotosFromDisk {
    //从本地读取图片
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *plistPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"photo_info.plist"];

    NSArray *photosArr = [NSArray arrayWithContentsOfFile:plistPath];
    for (NSDictionary *dic in photosArr) {
        Photo *photo = [[Photo alloc] init];
        photo.image = [UIImage imageWithContentsOfFile:[dic valueForKey:@"ImagePath"]];
        photo.name = [dic valueForKey:@"Name"];
        photo.tags = [dic valueForKey:@"Tags"];
        photo.date = [dic valueForKey:@"Date"];
        [self.photos addObject:photo];
    }
    
    return self.photos;
}

 

iOS笔记之文件读写

标签:

原文地址:http://www.cnblogs.com/liuliuliu/p/4561400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!