iOS中的NSUserDefault、NSKeyedArchiver




ios中常用的文件存取的几种方式:

1、直接写文件的方式,可以存储的对象有NSString、NSArray、NSDictionary、NSData、NSNumber,数据全部存放在一个属性列表文件(*.plist文件)中。

2、NSUeserDefaults(偏好设置),用来存储应用设置信息,文件放在perference目录下。

3、归档操作(NSkeyedArchiver),不同于前面两种,它可以把自定义对象存放在文件中。

获取沙盒路径,通过写文件的方式存储数据

NSUserDefault(偏好设置)

每个应用都有一个NSUesrDefaults实例,通过它可以存储应用配置信息以及用户信息,比如保存用户名、密码、字体大小、是否自动登录等等。数据自动保存在沙盒的Libarary/

Preferences目录下。同样,该方法只能存取NSString、NSArray、NSDictionary、NSData、NSNumber类型的数据。

NSKeyedArchiver(归档操作)

使用归档操作存储数据的主要好处是,不同于前面两种方法只能存储几个常用的数据类型的数据,NSKeyedArchiver可以存储自定义的对象。

需要注意的是,需要保存的对象类一定要引用NSCoding协议,并且实现。

keyChain(钥匙串)

主要用来存储一些敏感内容数据,不同于偏好设置明文存入.plist,每次存入钥匙串时会自动对数据进行加密操作,所以存取速度也会较偏好设置慢一些。

在OS X中keychain的api较多,使用案例也比较多;

在iOS中keychain的api较少,主要用来存储敏感内容数据;

关于keychain的api下次写一个demo测试一下。

你可能感兴趣的:(iOS中的NSUserDefault、NSKeyedArchiver)