属性列表,是一种用来存储串行化后的对象的文件。因为扩展名为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];intidNum = [[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框架中的数据类型不能存储自定义的对象以键值对的形式存储存储时间为整体应用程序存续时间,如果想要删除,需要删除整体应用程序
作者:杰瑞教育
出处:http://www.cnblogs.com/jerehedu/
本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。