IOS中的属性列表----Property List
属性列表,是一种用来存储串行化后的对象的文件。因为扩展名为plist ,因此通常被称为 plist文件。
plist文件通常用于储存用户设置,也可以用于存储捆绑的信息,其内容为xml格式。它可以在程序运行期间动态的创建和读写,因此可以用于少量数据时候的数据持久化。
NSUserDefaults类提供了一个与默认系统进行交互的编程接口,用户可以在程序运行的时候读写数据,实现了数据的持久化。而用于存储NSUserDefaults的文件实质上就是一个属性列表文件。
<一> 自定义属性列表存取

// 获得文件路径
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *filePath = [documentPath stringByAppendingPathComponent:@"student.plist"]; // 往plist文件中存储的数据
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
NSDictionary *stu1= @{@"idNum":@"1",@"name": @"jereh"};
[dict setValue:stu1 forKey:@"stu1"];
// 新数据写入plist文件
[dict writeToFile:filePath atomically:YES]; // 读取plist文件中数据
NSMutableDictionary *dicNow = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
int idNum = [[dicNow objectForKey:@"idNum"] intValue];
NSString *name = [dicNow objectForKey:@"name"];

小结:
- 属性列表适合存储轻量级的本地数据
- 支持存储的数据格式为Foundation框架中得数据类型NSNumber,NSString,NSDate,NSArray,NSDictionary,BOOL, NSData
- 属性列表不能存储自定义的对象、
- 属性列表的根目录只能为NSDictionary或者NSArray
- 以键值对的形式存储
- 存储时间为整体应用程序存续时间,如果想要删除,需要删除整体应用程序
<二> NSUserDefaults

// 创建NSUserDefaults对象
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; //存数据
[defaults setObject:@"jereh" forKey:@"name"];
//将缓存中的数据存放在磁盘上
[defaults synchronize]; //取数据
NSString *name = [defaults objectForKey:@"name"]; //删除数据
[defaults removeObjectForKey:@"name"];
[defaults synchronize];

小结:
- NSUserDefaults适合存储轻量级的本地数据
- 支持存储的数据格式为Foundation框架中的数据类型
- 不能存储自定义的对象
- 以键值对的形式存储
- 存储时间为整体应用程序存续时间,如果想要删除,需要删除整体应用程序
IOS中的属性列表----Property List的更多相关文章
- IOS之【属性列表】
		@implementation JamesWongViewController - (void)viewDidLoad { [superviewDidLoad]; [selfwritePerson]; ... 
- iOS中代理属性为什么要用Weak修饰?
		一.写在前面 代理设计模式,在iOS开发过程中,是一个非常常见的设计模式,可以说用的范围非常广泛,而对初学者来讲,常常对代理的属性修饰用weak存在疑惑,因此下面就解释一下其中非常简单的道理. 二.必 ... 
- iOS中常用属性的关键字的使用说明
		属性关键字的作用 现在我们iOS开发中,基本都是使用ARC(自动引用计数)技术,来编写我们的代码.因此在属性property中我们经常使用的关键字有strong,weak,assign,copy,no ... 
- iOS中文本属性Attributes
		NSFontAttributeName //设置字体大小 NSParagraphStyleAttributeName //设置段落格式 NSForegroundColorAttributeName / ... 
- iOS数据存储之属性列表理解
		iOS数据存储之属性列表理解 数据存储简介 数据存储,即数据持久化,是指以何种方式保存应用程序的数据. 我的理解是,开发了一款应用之后,应用在内存中运行时会产生很多数据,这些数据在程序运行时和程序一起 ... 
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(八):为动画建立属性列表
		大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ... 
- iOS开发备忘录:属性列表文件数据持久化
		属性列表文件是一种XML文件,Foundation框架中的数组和字典等都可以于属性列表文件相互转换. NSArray类常用读写属性列表文件的方法: +arrayWithContentsOfFile:类 ... 
- iOS中plist的创建,数据写入与读取
		iOS中plist的创建,数据写入与读取 Documents:应用将数据存储在Documents中,但基于NSuserDefaults的首选项设置除外Library:基于NSUserDefaults的 ... 
- iOS-数据持久化-属性列表
		属性列表 属性列表文件是一种XML文件,Foundation框架中的数组和字典等都可以于属性列表文件相互转换. NSArray类常用读写属性列表文件的方法: +arrayWithContentsOfF ... 
随机推荐
- MQ队列管理
			分享一段代码,很实用. 下面这段java代码是我在国外一个论坛上发现的,源地址已经忘了.代码的作用是可以删除正在使用的mq的队列消息,管理mq的人一定知道它的美妙了吧,哈哈. 我拿来改了下,增加了2个 ... 
- vue实现对表格数据的增删改查
			在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ... 
- 利用TinyXml进行数据库的热更新
			TinyXml库比较小,但功能较为完善,挺适合用来读取小块的xml文件; 我写了几个利用TinyXml读取和保存数据的例子,大家可以参考使用; 主要是为了热更新配置所做的一些函数应用; //开始热更 ... 
- AndroidDemo - FloatWindowDemo
			安卓悬浮窗Demo 在桌面上创建一个小的悬浮窗.点击小悬浮窗后会弹出一个大的窗口.大窗口上有2个按键,分别为返回与关闭.点击大窗口外的部分能返回小窗口. 小窗口可以自由拖动.小窗口上显示的是当前内存使 ... 
- Objective-C plist文件与KVC 的使用
			plist文件是以类似xml形式构造数据,下面我们直接在xcode中创建完成一个plist文件, File-New-File-属性列表 我们可以选择存储类型.这里我构造一组数据,数据中的每个元素都是一 ... 
- Linux学习笔记--一些错误的记录
			运行linux的时候,输入shutdown -r now命令提示:bash:shutdown is not found.出现这个错误是因为这条命令没有加入到系统的配置文件中,运行命令export PA ... 
- angular JS中使用jquery datatable添加ng-click事件
			'use strict'; app.controller('DataTableCtrl', function ($scope, $compile) { $scope.show = function ( ... 
- 坏块管理(Bad Block Management,BBM)
			看了很多坏块管理的文章,加上自己的理解,把整个坏块管理做了个总结. 坏块分类 1.出厂坏块 又叫初始坏块,厂商会给点最小有效块值(NVB,mininum number of valid blocks) ... 
- Android studio导出AAR包问题整理。
			最近因为项目需求开始整理一个SDK 以AAR的方式提供出去.在整理的过程中遇到了很多坑. 以下是一些总结希望能帮助遇到同样问题的人. 1.怎么导出AAR,这种文章太多了,我贴一个大家可以做参考. ht ... 
- Nlpir Parser灵玖文本语义挖掘系统数据采集
			在计算机广泛应用的今天,数据采集的重要性是十分显著的.它是计算机与外部物理世界连接的桥梁.各种类型信号采集的难易程度差别很大. 灵玖软件Nlpir Parser文本语义挖掘系统以分词技术为基础,集成了 ... 
