NSUserDefault

iOS中数据持久化可以有很多中方式,大致有NSUserDefault,Keychain,Archiver,write写入,CoreData,SQLite等一些常见的存储方式。

1.NSUserDefault是一种轻量级的存储方式,主要存储一些账户信息小型数据,使用起来非常便捷。

2.keychain存储密码,证书等私密的信息,用keychain存储的信息不会因为app被删除而丢失,重新安装app依然有效,数据还在。

3.Archiver归解档其实是将对象写入到文件中。

4.write写入方式也是讲数据保存到对应的文件中,NSFileManger,Plist大致就是属于这一种。

5.CoreData它提供了对象昂-关系银蛇(ORM)的功能,既能够将OC对象转化成数据,保存在SQLite数据库中文件中,也能够保存将OC对象转化成数据。

6.SQLite是轻量型的数据库,一般用在移动设备中,需要使用SQL语句来实现。

这是对各种存储方式的简单介绍,下面先具体介绍下NSUserDefault的用法,后续挨个讲解不同存储方式的用法。

NSUserDefault其实主要就两个方法 一个是存储 

[[NSUserDefaults standardUserDefaults] setObjectforKey:];

另一个是读取

[[[NSUserDefaults standardUserDefaults] objectForKey:]

,以键值队的形式来存储。

不过这里面也会有很多坑

1.存储的必须是指定的一些数据类型,字符串,数组,data等,不能直接插入对象,所以需要做一层转换。

2.另外在使用字典做转化存储的时候,最好做一层安全措施,使用字典的一个分类,在当存储的数据是nil或者NSNull的时候转换为空字符串处理。

分类如下图

附上一张项目实际用到的,在非登录下单状态下进行本地保存联系人信息。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值