***************plist存储

  1. // 当点点击保存的时候调用 //保存
  2. - (IBAction)save:(id)sender {
  3. // 获取沙盒的根路径
  4. // NSString *home = NSHomeDirectory();
  5.  
  6. // 拼接Documents路径
  7. // NSString *docPath = [home stringByAppendingString:@"/Documents"];
  8. //NSString *docPath = [home stringByAppendingPathComponent:@"Documents"];
  9.  
  10. /**
  11. * NSDocumentDirectory : 查找Documents文件夹
  12. NSUserDomainMask : 在用户的应用程序下查找
  13. YES 把路径展开 NO 当前应用的根路径 == ~
  14. NO ~/Documents
  15.  
  16. */
  17. NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[];
  18. NSLog(@"%@",docPath);
  19.  
  20. // 拼接文件路径
  21. NSString *filePath = [docPath stringByAppendingPathComponent:@"data.plist"];
  22.  
  23. // 只有具备writeToFile:的对象才能使用plist存储,NSArray
  24. NSArray *array = @[@,@,@""];
  25.  
  26. [array writeToFile:filePath atomically:YES];
  27.  
  28. //NSLog(@"%@",docPath);
  29.  
  30. }
  31.  
  32. //当点击读取的时候调用 读取
  33. - (IBAction)read:(id)sender {
  34. NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[];
  35. NSLog(@"%@",docPath);
  36.  
  37. // 拼接文件路径
  38. NSString *filePath = [docPath stringByAppendingPathComponent:@"data.plist"];
  39.  
  40. NSArray *data = [NSArray arrayWithContentsOfFile:filePath];
  41. NSLog(@"%@",data);
  42.  
  43. }

********篇好设置

  1. // 保存
  2. - (IBAction)save:(id)sender {
  3.  
  4. // [NSUserDefaults standardUserDefaults]可以直接操作偏好设置文件夹
  5. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  6.  
  7. // 自动帮我们生成一个plist文件存放在偏好设置的文件夹
  8. [defaults setObject:@"hm" forKey:@"account"];
  9.  
  10. // 同步:把内存中的数据和沙盒同步
  11. [defaults synchronize];
  12.  
  13. }
  14.  
  15. //读取
  16. - (IBAction)read:(id)sender {
  17. // [NSUserDefaults standardUserDefaults]可以直接操作偏好设置文件夹
  18. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  19.  
  20. NSLog(@"%@",[defaults objectForKey:@"account"]);
  21.  
  22. // NSDictionary *dict = @{@"account":@"hm"};
  23. //
  24. // dict writeToFile:<#(NSString *)#> atomically:<#(BOOL)#>
  25.  
  26. }

***************对象归档

******persion.m

  1. #import "HMPerson.h"
  2.  
  3. @implementation HMPerson
  4.  
  5. // 在对象归档的时候调用
  6. // 哪些属性需要归档
  7. // 这些属性怎么归档
  8. - (void)encodeWithCoder:(NSCoder *)aCoder
  9. {
  10. [aCoder encodeInt:_age forKey:@"age"];
  11. }
  12.  
  13. // 在对象解档的时候调用
  14. // 哪些属性需要解档
  15. // 这些属性怎么解档
  16.  
  17. - (id)initWithCoder:(NSCoder *)aDecoder
  18. {
  19. // 当父类实现了NSCoding,就能调用 [super initWithCoder]
  20. if (self = [super init]) {
  21. _age = [aDecoder decodeIntForKey:@"age"];
  22. }
  23. return self;
  24. }
  25.  
  26. @end

****归档的保存和读取

  1. //保存
  2. @implementation HMViewController
  3.  
  4. - (IBAction)save:(id)sender {
  5. HMPerson *person = [HMPerson new];
  6. person.age = ;
  7.  
  8. NSString *docPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[];
  9.  
  10. // 拼接文件路径
  11. NSString *filePath = [docPath stringByAppendingPathComponent:@"person.data"];
  12.  
  13. [NSKeyedArchiver archiveRootObject:person toFile:filePath];
  14.  
  15. }
  16. //读取
  17. - (IBAction)read:(id)sender {
  18. NSString *docPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[];
  19.  
  20. // 拼接文件路径
  21. NSString *filePath = [docPath stringByAppendingPathComponent:@"person.data"];
  22.  
  23. HMPerson *p = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
  24. NSLog(@"%d",p.age);
  25. }

IOS第13天(2,私人通讯录,plist存储,偏好设置,归档)的更多相关文章

  1. IOS第13天(3,私人通讯录,登陆状态数据存储,数据缓存, cell的滑动删除,进入编辑模式,单个位置刷新 )

    *****联系人的界面的优化 HMContactsTableViewController.m #import "HMContactsTableViewController.h" # ...

  2. IOS第13天(1,私人通讯录,登陆功能,界面的跳转传值,自定义cell,编辑界面)

    ******HMLoginViewController 登陆的界面 #import "HMLoginViewController.h" #import "MBProgre ...

  3. 持久化存储——偏好设置,plist,归档---学习笔记二

    //一. 本地持久化 //1.沙盒 //1.1 应用程序包:存放的是应用程序的源文件,包括资源文件和可执行文件 NSString *path = [[NSBundle mainBundle]bundl ...

  4. 数据存储之plist、偏好设置

    // 偏好设置--------------------------------- // 存储基本类型数据 NSUserDefaults *defaults = [NSUserDefaults stan ...

  5. 1211笔记关于//modal//更改窗口的根控制器//数据存取//Plist属性列表//-“沙盒机制”//plis属性列表//偏好设置//归档普通对象//联系人数据存储//协议与回调函数

    一.利用Modal形式展示控制器 1.如何展示// vc就是要展示的新控制器[self presentViewController:vc animated:YES completion:^{    N ...

  6. ios应用数据存储方式(偏好设置)-转

    一.简单介绍 1.很多ios应用都支持偏好设置,比如保存用户名,密码,字体大小等设置,ios提供了一套标准的解决方案来为应用加入偏好设置功能. 2.每个应用都有个NSUserDefaults实例,通过 ...

  7. [iOS基础控件 - 6.11.3] 私人通讯录Demo 控制器的数据传递、存储

    A.需求 1.搭建一个"私人通讯录"Demo 2.模拟登陆界面 账号 密码 记住密码开关 自动登陆开关 登陆按钮 3.退出注销 4.增删改查 5.恢复数据(取消修改)   这个代码 ...

  8. IOS学习之-私人通讯录

    通过一段时间IOS的学习完成了一个简单的应用,"私人通讯录". 运行效果如下图: 1.登录页 2.通讯录列表 3.添加 4.编辑 5.删除 6.注销 总视图结构如下图: 总结本程序 ...

  9. iOS开发——UI进阶篇(十一)应用沙盒,归档,解档,偏好设置,plist存储,NSData,自定义对象归档解档

    1.iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档(NSCoding)SQLite3 Core Data 2.应用沙盒每 ...

随机推荐

  1. POJ 3693 后缀数组

    题目链接:http://poj.org/problem?id=3693 题意:首先定义了一个字符串的重复度.即一个字符串由一个子串重复k次构成.那么最大的k即是该字符串的重复度.现在给定一个长度为n的 ...

  2. redis 存储session实现session共享

    nginx 作为代理 tomcat集群 redis存储共享session nginx采用轮询方式将动态请求反向代理给tomcat,tomcat通过加载相应jar包方式实现获得redis中共享的sess ...

  3. 微軟将从 .NET 4 以后的版本弃用 System.Data.OracleClient 以及Oracle 的各种连接方法

    这是微软官方 ADO.NET Team Blog 去年就公布的消息: http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracl ...

  4. JS(ajax笔记)

    简介:AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法,是与服务器交 ...

  5. JavaScript中的apply()方法和call()方法使用介绍

    1.每个函数都包含两个非继承而来的方法:apply()和call(). 2.他们的用途相同,都是在特定的作用域中调用函数. 3.接收参数方面不同,apply()接收两个参数,一个是函数运行的作用域(t ...

  6. oracle 授权

    1.授权oss01用户,此用户可以执行sys.utl_i18n存储过程. grant execute on sys.utl_i18n to oss01;grant execute on sys.dbm ...

  7. Optimizing Performance: Data Binding(zz)

    Optimizing Performance: Data Binding .NET Framework 4.5 Other Versions   Windows Presentation Founda ...

  8. reshape2包--R高效数据处理包

    介绍如何使用reshape2包将宽型数据转换成长型数据,将长型数据转换成宽型数据.Reshape2是Hadley Wickham开发和维护的. 1.长数据VS宽数据 宽型数据:每列代表一个不同的变量. ...

  9. BZOJ4356 : Ceoi2014 Wall

    求出左上角到每个需要保护的点左上角的最短路树,那么最优解一定圈住了它们. 然后将每个点拆成四个点,四个点之间如果没跨越最短路树的树边,那就连0权边. 每个需要保护的点四周4个点都不可通行,求出最短路即 ...

  10. ACM 田忌赛马

    田忌赛马 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 Here is a famous story in Chinese history. "That ...