【通讯录案例-保存联系人信息 Objective-C语言】

一、接下来,我们来做一下这个通讯录啊,

1.保存一下我们的联系人信息

实际上,它就是一个“自定义的类”,

自定义的一个模型、一个对象、一个类啊

然后呢,在这个里边儿,我们要保存一下它,

然后呢,我们把上次的代码command + C、command + V、备份一下

调整

把这个“05-通讯录-保存开关状态副本“,改成

调整

改成“07-通讯录-保存联系人信息“,

调整

打开

调整

然后呢,把这个,我们联系人信息的列表,是在这个ContactViewController.m里面,

调整

command + R,看一下

调整

2.首先啊,我们来想一下,这个东西,我们应该在哪儿去保存联系人信息,

在我每一次添加的时候,

调整

添加的时候,添加了一个联系人,

调整

点击“添加”,

我就应该保存联系人信息,

调整

每次我点击添加,我就应该把这个联系人信息保存一下,然后每一次,我在开启这个应用的时候,viewDidLoad的时候,我就应该去读取,应该就可以了,

好,我现在呢,来去“归档”,

当我点击“加号“,点击”添加“按钮的时候,

调整
调整

它一定会执行我这个Controller的代理方法,

也就是addViewController:的那个方法,

调整

我们应该在这个方法里边儿,尝试着去“归档”联系人信息,

调整

归档就是保存的意思啊,

归档联系人信息的话,我们应该归档谁,

归档这个传过来的模型,是吗?

调整

好,那我先来保存一下,

这个里边儿,有一个关键的类,叫做NSKeyedArchiver,

调整

[NSKeyedArchiver archiveRootObject:(id) toFile:(NSString *)]

调整

然后呢,archiveRootObject:

调整

直接把contact传过来

调整

[NSKeyedArchiver archiveRootObject:contact toFile:(NSString *)];

然后,to一个File,

好,我觉得这个File很重要,所以,我想把它保存在Documents目录下

// 获取 doc 路径

调整

怎么获取Documents的路径,对,NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory,NSSearchPathDomainMask domainMask,BOOL expandTilde),

调整

来一个这个方法,NSSearchPathForDirectoriesInDomains,

调整

搜索啊,Documents,是搜索的,

输入三个参数:

1)NSSearchPathDirectory directory:来一个,enum NSSearchPathDirectory NSDocumentDirectory,

调整

2)NSSearchPathDomainMask domainMask:来一个

调整

enum NSSearchPathDomainMask NSUserDomainMask,

3)BOOL expandTilde:来一个YES,

调整

取到的是一个数组,再取个[0],

调整

它就应该是一个NSString 类型的 docPath ,

我们接下来呢,要保存一个文件,所以呢,我们要把这个NSString

NSString *filePath = 也要写一下,

调整

NSString *filePath = [docPath stringByAppendingPathComponent:(NSString *)];

调整

然后来一个叫做,@“contact.data”,

NSString *filePath = [docPath stringByAppendingPathComponent:@“contact.data“];

调整

好,然后,把这个filePath,传过来,

调整

选中filePath,command + C、选中toFile:(nonnull NSString *),command + V、

调整

这个里边儿啊,我现在归档,会报错儿吗,

对,我还没有写那个initWithCoder:啊,

这个还是说到这个“学习方法”的问题啊,

代码,不要去死记硬背,

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风清晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值