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

// 当点点击保存的时候调用     //保存
- (IBAction)save:(id)sender {
// 获取沙盒的根路径
// NSString *home = NSHomeDirectory(); // 拼接Documents路径
// NSString *docPath = [home stringByAppendingString:@"/Documents"];
//NSString *docPath = [home stringByAppendingPathComponent:@"Documents"]; /**
* NSDocumentDirectory : 查找Documents文件夹
NSUserDomainMask : 在用户的应用程序下查找
YES 把路径展开 NO 当前应用的根路径 == ~
NO ~/Documents */
NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[];
NSLog(@"%@",docPath); // 拼接文件路径
NSString *filePath = [docPath stringByAppendingPathComponent:@"data.plist"]; // 只有具备writeToFile:的对象才能使用plist存储,NSArray
NSArray *array = @[@,@,@""]; [array writeToFile:filePath atomically:YES]; //NSLog(@"%@",docPath); } //当点击读取的时候调用 读取
- (IBAction)read:(id)sender {
NSString *docPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[];
NSLog(@"%@",docPath); // 拼接文件路径
NSString *filePath = [docPath stringByAppendingPathComponent:@"data.plist"]; NSArray *data = [NSArray arrayWithContentsOfFile:filePath];
NSLog(@"%@",data); }

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

// 保存
- (IBAction)save:(id)sender { // [NSUserDefaults standardUserDefaults]可以直接操作偏好设置文件夹
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; // 自动帮我们生成一个plist文件存放在偏好设置的文件夹
[defaults setObject:@"hm" forKey:@"account"]; // 同步:把内存中的数据和沙盒同步
[defaults synchronize]; } //读取
- (IBAction)read:(id)sender {
// [NSUserDefaults standardUserDefaults]可以直接操作偏好设置文件夹
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSLog(@"%@",[defaults objectForKey:@"account"]); // NSDictionary *dict = @{@"account":@"hm"};
//
// dict writeToFile:<#(NSString *)#> atomically:<#(BOOL)#> }

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

******persion.m

#import "HMPerson.h"

@implementation HMPerson

// 在对象归档的时候调用
// 哪些属性需要归档
// 这些属性怎么归档
- (void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeInt:_age forKey:@"age"];
} // 在对象解档的时候调用
// 哪些属性需要解档
// 这些属性怎么解档 - (id)initWithCoder:(NSCoder *)aDecoder
{
// 当父类实现了NSCoding,就能调用 [super initWithCoder]
if (self = [super init]) {
_age = [aDecoder decodeIntForKey:@"age"];
}
return self;
} @end

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

//保存
@implementation HMViewController - (IBAction)save:(id)sender {
HMPerson *person = [HMPerson new];
person.age = ; NSString *docPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[]; // 拼接文件路径
NSString *filePath = [docPath stringByAppendingPathComponent:@"person.data"]; [NSKeyedArchiver archiveRootObject:person toFile:filePath]; }
//读取
- (IBAction)read:(id)sender {
NSString *docPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[]; // 拼接文件路径
NSString *filePath = [docPath stringByAppendingPathComponent:@"person.data"]; HMPerson *p = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
NSLog(@"%d",p.age);
}

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. C#与mysql做ASP.NET网页数据库查询速度测试

    两种方法是:1,使用mysql数据库的存储过程:2,C#编码,做网页后台与mysql数据库连接,前台测试显示测试过结果下面我将分别讲解两种方法的具体实现. 1,使用mysql数据库的存储过程插入万条大 ...

  2. PLSQL看oracle中汉字显示乱码

    首先执行语句 select * from V$NLS_PARAMETERS  查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否为SIMPLIFIED CHINES ...

  3. Codeforces 660C Hard Process(尺取法)

    题目大概说给一个由01组成的序列,要求最多把k个0改成1使得连续的1的个数最多,输出一种方案. 和CF 676C相似. #include<cstdio> #include<algor ...

  4. Codeforces 682C Alyona and the Tree(树形DP)

    题目大概说给一棵点有权.边也有权的树.一个结点v不高兴当且仅当存在一个其子树上的结点u,使得v到u路径上的边权和大于u的权值.现在要不断地删除叶子结点使得所有结点都高兴,问最少删几个叶子结点. 一开始 ...

  5. POST和GET的区别

    1. get是从服务器上获取数据,post是向服务器传送数据.2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过H ...

  6. BZOJ1946 : [Ceoi2006]ANTENNA

    首先通过随机增量法求出最小覆盖圆,作为答案的上界. 然后二分答案,检验的时候枚举每个点作为原点,求出其他每个点被包括在圆内的角度区间,然后扫描线即可. 时间复杂度$O(Tn^2\log n)$. #i ...

  7. OpenResty 简单编写一个Module

    使用 Lua module 来进行 Lua 代码的复用是推荐的做法.然后在用户代码中直接用require()来调用 module代码: local myTest = {} function myTes ...

  8. 关于c语言模拟c++的多态

    关于c++多态,个人认为就是父类调用子类的方法,c++多态的实现主要通过虚函数实现,如果类中含有虚函数,就会出现虚函数表,具体c++多态可以参考<深度探索c++对象模型> c语言模拟多态主 ...

  9. css切背景图片(background-position)

    给元素添加背景图片的方式有很多,个人总结的有: 用img插入图片: css3的方式手动绘图: 单独用background-image单独插入图片: 其中用background-image有两种方法,一 ...

  10. 最好的文本框样式 最漂亮的文本框样式 textbox css样式

    输入框景背景透明: <input style="background:transparent;border:1px solid #ffffff"> 鼠标划过输入框,输入 ...