以plist文件做本地存储

1、把需要保存的信息已plist文件形式保存在本地,即写入沙盒:

/**
 *  写入本地(plist文件)
 */
- (void)saveArray
{
    // 1.获得沙盒根路径
    NSString *home = NSHomeDirectory();

    // 2.document路径
    NSString *docPath = [home stringByAppendingPathComponent:@"Documents"];

    // 3.新建数据
    NSDictionary *dict = @{@"haha":@"11",
                           @"hehe":@"12",
                           @"huhu":@"13",
                           @"gogo":@"14"
                           };

    NSString *filepath = [docPath stringByAppendingPathComponent:@"data.plist"];

    [dict writeToFile:filepath atomically:YES];
}

  其中Decuments是沙盒固定路径,data.plist是自己取的要保存的文件的名字;

2、当需要拿出保存的信息的时候,读取保存在本地的plist文件:

/**
 *  读取写入本地的plist文件
 */
- (IBAction)read {
    // 1.获得沙盒根路径
    NSString *home = NSHomeDirectory();

    // 2.document路径
    NSString *docPath = [home stringByAppendingPathComponent:@"Documents"];

    // 3.文件路径
    NSString *filepath = [docPath stringByAppendingPathComponent:@"data.plist"];

    // 4.读取数据
    NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:filepath];

    NSLog(@"%@", dic);
}

  

3、有时保存在本地的文件信息不是最新时,需要删除上次保存在本地的文件,然后重新保存的最新的信息在本地:

/**
 *  删除保存在本地的plist文件的数据
 */
- (void)remove{
    // 1.获得沙盒根路径
    NSString *home = NSHomeDirectory();

    // 2.document路径
    NSString *docPath = [home stringByAppendingPathComponent:@"Documents"];

    // 3.文件路径
    NSString *filepath = [docPath stringByAppendingPathComponent:@"data.plist"];

    NSFileManager *fileManager = [NSFileManager defaultManager];

    [fileManager removeItemAtPath:filepath error:nil];
}

  这样就完成了文件的本地存储。

对于小文件的存储,减少了用数据库存储的麻烦,以plist文件存储,轻便、快捷,操作简单。

有时候对于网络数据的缓存,如果数据不是很打的话,也是可以用plist文件存储的。

时间: 2024-10-21 04:57:29

以plist文件做本地存储的相关文章

ionic 运用pouchdb/sqlite 数据库做本地存储

配置数据库环境需要3步: 1.安装slqite插件 在ionic 工程目录对应终端执行一下命令: npm install cordova-plugin-sqlite 2.安装pouchdb 在ionic 工程目录对应终端执行一下命令: npm install pouchdb 3.在工程目录www的index.html里添加pouchdb.js源文件 <script src="lib/pouchdb/dist/pouchdb.min.js"></script> 使

使用Xamarin + C#开发应用 -- 使用sqlite做本地存储

1. 下载sqlite.cs: https://github.com/praeclarum/sqlite-net/blob/master/src/SQLite.cs 2. 创建 测试实体: [Table("Items")] public class Stock { [PrimaryKey, AutoIncrement, Column("_id")] public int Id { get; set; } [MaxLength(8)] public string Sy

HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术

最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的整理思路,写到博客里还能做个备忘. 1) 跨域通讯 现在做企业项目,前端很不自然的会大量使用iframe标签,我以前在文章里提到iframe是一个效率极其低下的标签,但是如果项目没有什么性能的苛求,使用iframe还是非常的方便的. 使用iframe经常碰到父子窗体通讯的问题,我们看看下面的代码:

Foundation框架(4)字典对象及plist文件

字典对象NSDictionary NSDictionary用于描述字典对象,数组的下标是整型数,字典的下标是字符串类型的key 创建: + (instancetype)dictionary + (instancetype)dictionaryWithObject:(ObjectType)anObject forKey:(id<NSCopying>)aKey + (instancetype)dictionaryWithObjects:(NSArray<ObjectType> *)ob

iOS开发-plist文件增删改查

plist第一次看到这个后缀名文件的时候感觉怪怪的,不过接触久了也就习以为常了,plist是Property List的简称可以理解成属性列表文件,主要用来存储串行化后的对象的文件.扩展名为.plist ,因此被称为 plist文件,xCode中默认的是一种树状的结构展现出来数据,可视化的动态增删改查,非常人性化,不过最终的结果是以XML形式存储的,Plist文件可以用于存储用户的一些设置信息,具体根据需求而定. 简单创建文件 简单创建文件就是说可以直接从xCode创建,右击项目new File

灵魂拷问第2篇:能不能说一说浏览器的本地存储?各自优劣如何?

浏览器的本地存储主要分为Cookie.WebStorage和IndexedDB, 其中WebStorage又可以分为localStorage和sessionStorage.接下来我们就来一一分析这些本地存储方案. Cookie Cookie 最开始被设计出来其实并不是来做本地存储的,而是为了弥补HTTP在状态管理上的不足. HTTP 协议是一个无状态协议,客户端向服务器发请求,服务器返回响应,故事就这样结束了,但是下次发请求如何让服务端知道客户端是谁呢? 这种背景下,就产生了 Cookie. C

IOS 读取本地的Json/plist 文件

一.一般本地可以存储轻量级数据存储 plist  这个主要是操作字典 方法如下: NSString * sampleFile= [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"sections_auth=4.plist"]; NSDictionary* dic_sections = [NSDictionary dictionaryWithContentsOfFile:sampleFile]; 二.

Swift - 本地数据的保存与加载(使用NSCoder将对象保存到.plist文件)

下面通过一个例子将联系人数据保存到沙盒的“documents”目录中.(联系人是一个数组集合,内部为自定义对象). 功能如下: 1,点击“保存”将联系人存入userList.plist文件中 2,点击“读取”从数据文件中加载解析出联系人 注意: 1,本例使用了NSCoder,这个封装了许多技术细节,使用它我们可以很轻易的将对象写到文件中,也可以用它将文件中的对象转换回来. 2,自定义对象必须添加如下两个方法,这个才能顺利的被序列化编码存储和读取. 1 2 3 4 5 6 7 8 9 10 11

一起来做chrome扩展《本地存储localStorage》

chrome中的本地存储其实也是用的HTML5中localStorage,唯一区别是chrome扩展有自己的localStorage,它属于这个扩展,而不属于一个域名.得用这一点可以很好的处理扩展自己的一些数据,而不受访问网站和域名的影响. localStorage基础 localStorage是HTML5特性,所以有些浏览器不一定支持,不过我们这里讲的是chrome扩展,所以完全不用担心这个问题.如果想在WEB页面上使用,那就要检查一下是不是支持它 可以这样的检测: if(window.loc