iOS中的数据存储方式_Plist

plist文件只能存储OC常用数据类型(NSString、NSDictionary、NSArray、NSData、NSNumber等类型)而不能直接存储自定义模型对象;

我们拿NSData举例:

/********** 写入plist文件 **********/
    // plist文件写入路径
    NSString *docPath1 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
    NSString *plistPath1 = [docPath1 stringByAppendingPathComponent:@"kingdev.plist"];
    
    // 构造二进制数据
    NSString *urlStr = @"http://pic.to8to.com/attch/day_160218/20160218_6410eaeeba9bc1b3e944xD5gKKhPEuEv.png";
    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:urlStr]];
    
    // 写入本地 plist 文件
    if ([data writeToFile:plistPath1 atomically:YES]) {
        NSLog(@"write success.");
    } else {
        NSLog(@"write failure.");
    }
    
    /*********** 读取plist文件 **********/
    NSData *readData = [NSData dataWithContentsOfFile:plistPath1];
    UIImage *image = [UIImage imageWithData:readData];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    imageView.backgroundColor = [UIColor redColor];
    imageView.frame = CGRectMake(100, 100, 100, 100);
    [self.view addSubview:imageView];

 

先查看我们的打印台:

2016-04-07 18:42:50.259 学习数据库[9474:485024] write success.

查看我们的沙盒:

使用前提:该对象实现了 writeToFile方法,这样我们才能把对象写入 plist 文件。

 

查看我们读取plsit效果:

posted @ 2016-04-08 14:04  Kingdev  阅读(324)  评论(0编辑  收藏  举报