IOS中的属性列表----Property List
来源:互联网 发布:上海弗洛伦萨小镇 知乎 编辑:程序博客网 时间:2024/05/20 10:55
属性列表,是一种用来存储串行化后的对象的文件。因为扩展名为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框架中的数据类型
- 不能存储自定义的对象
- 以键值对的形式存储
- 存储时间为整体应用程序存续时间,如果想要删除,需要删除整体应用程序
0 0
- IOS中的属性列表----Property List
- Property List(属性列表)
- IOS深入学习(28)之Property list(属性列表文件)
- iOS中的@property的属性
- ios编程 @property的属性列表分析
- iOS: 属性列表介绍 Introduction to Property Lists
- IOS - Property list
- iOS -- @property属性说明
- ios的@property属性
- iOS -- @property属性说明
- ios @property属性
- iOS -- @property属性说明
- iOS -- @property属性说明
- ios的@property属性
- iOS property属性
- iOS property属性
- iOS @property 属性详解
- IOS property 属性
- Poj.1995 Raising Modulo Numbers【快速幂取模】 2015/04/22
- 工厂方法模式
- EDMA_CSL库的使用
- poj 3252 Round Numbers(数位dp)
- C语言多文件编译
- IOS中的属性列表----Property List
- iOS陷阱--NSDateFormatter的线程安全性
- swift学习笔记
- xcode6下使用autolayout+sizeclass实践
- 百度面试经历,包括问的问题和我的答案
- 剑指Offer之 - 最小的k个数
- 自定义组件-BreadcrumbTreeView 的使用
- 深入掌握JMS(五):实战Topic
- netperf