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效果:

时间: 2024-09-30 07:23:12

iOS中的数据存储方式_Plist的相关文章

UI进阶--iOS中的数据存储常用方式

iOS中的数据存储常用方式: 1.xml属性列表(plist): 2.preference偏好设置; 3.NSKeyedArchiver归档(需要遵守NSCodeing协议); 4.SQLite 3; 5.Core Data; ...... 应用沙盒: 每个iOS应用都有?己的应?沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应?必须待在?己的沙盒里,其他应用不能访问该沙盒(提示:在IOS8中已经开放访问) 应?沙盒的文件系统?录,如下图所示(假设应用的名称叫Layer) 模拟器应?用沙

安卓中的数据存储方式以及ContentProvider的简单介绍

1.介绍android的数据存储方式 File存储 sharedPrefrence存储方式 conmtentprovider sqlitedatabase 网络存储 2.请介绍下ContentProvider是如何实现数据共享的 安卓中如果想将自己应用程序的数据暴露给其他的应用程序的时候就需要创建内容提供者.第三方可以通过contentResolver来访问该provider 3.为什么要使用ContentProvider?它和sql的实现上有什么差别? ContentProvider屏蔽了数据

iOS 四种数据存储方式

NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要 遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法.前一个方法告诉系统怎么对 对象进行编码,而后一个方法则是告诉系统怎么对对象进行解码.例如对Possession对象归档保存. NSUserDefaults:用来保存应用程序设置和属性.用户保存的数 据.用户再次打开程序或开机后这些数据仍然存在.NSUserDefaults可以存储的数据类型包括:NSDat

iOS中的数据存储

SQLite3 SQLite3是一款开源的嵌入式关系型数据库,可移植性好,易使用,内存开销小. SQLite3是无类型的,意味着你可以保存任何类型的数据到任意表的任意字段中. SQLite3常用的4种数据类型:text(文本字符串), integer(整型值), real(浮点值), blob(二进制数据(比如文件)). 在iOS中使用SQLite3,首先要添加库文件'libsqlite3.dylib'和导入主头文件#import<sqlite3.h> SQL语句的特点: 1> 不区分大

iOS开发_数据存储方式

对于数据持久化的问题,博主并不准备在博文内放很多的代码进行更深一步解释,只是简单的介绍一下四种数据持久化,如有时间,会另外针对各个数据持久化的方法进行更进一步的阐述. 直接进入主题: 〈1.NSUserDefault 用来存储配置信息,开发者可以通过这个实例对象,对这些已有信息进行修改,也可以根据自己的需求创建新的配置项.这是一个系统的单例,是一个轻量级存储机制,一般用来存储用户的登录状态,一般不会用来存储复杂对象. 〈2.SQLite 用于查询需求较多的数据,擅长处理的数据类型其实与NSUse

iOS中的数据存储 NSUserDefault NSKeyedArchiver(归档和反归档)

应用沙盒: 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录)与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒. 模拟器应用沙盒的根路径在: (apple是用户名, 6.0是模拟器版本) /Users/apple/Library/Application Support/iPhone Simulator/6.0/Applications 或者: /Users/用户名/资源库/Application Support/iPhone Simulator/6.1/Applic

C++中的数据存储方式自动存储、静态存储和动态存储

C++中变量存储方式有三种,自动存储,静态存储,动态存储 自动存储简单意义上就是在函数内不用任何关键字直接定义的变量,它在函数被调用时被创建,在函数退出时自动消失, 静态存储顾名思义就是在程序的整个运行过程中都存在,在函数体外定义的变量自动为静态存储方式,也可以在函数内使用static关键字定义 动态存储是以关键字new和delete构成的,在程序运行过程中需要时通过new现场分配指定大小的空间,不再需要时使用delete来释放

IOS中的数据存储 简单总结

1.  NSKeyedArchiver(加密形式) 2.  plist 3.  NSUserDefaults 4.  writeToFile 5.  SQLite3 ==== NSKeyedArchiver ======================================== -------CKPerson.h 代码 @interface CKPerson : NSObject @property (nonatomic, copy) NSString *name; @property

iOS狂暴之路---iOS中应用的数据存储方式解析

一.前言 前面一篇文章中已经介绍了iOS应用中的视图控制器知识点,而本文不会按照常理来介绍View的知识点,而是先介绍iOS中的数据存储知识点,因为关于View的知识点太多了,后面会连续详细介绍一下.这篇先来看一下iOS中的数据存储功能分析.每一个iOS应用和Android应用一样,都有其对应的沙盒存储自己的数据,但是iOS和Android有一个区别就在于没有SD卡的概念了,也就说在iOS中应用的数据只能保存到自己的沙盒中.这也可以看出来iOS为了应用的安全考虑. 在开发Android的时候都知