zoukankan      html  css  js  c++  java
  • 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效果:

  • 相关阅读:
    遗产
    (OK) C/S—心跳检测—heartbeat
    如何判断SOCKET已经断开
    accept() returns the same socket descriptor
    C/S—心跳检测—heartbeat
    Linux—Network—Socket—Programming—heartbeat—源代码
    CentOS 7
    yum—repo—yum源
    (OK) CentOS7—mp4—avi—视频播放—SMPlayer
    读史
  • 原文地址:https://www.cnblogs.com/xiu619544553/p/5367632.html
Copyright © 2011-2022 走看看