iOS数据持久化方案简述

Keychain

一般用于安全的存储用户ID密码证书等敏感信息,非通用数据持久化方案。

它不储存在app的沙盒内,所以即使app删除重装依然有效(iOS10之后废除),同一profile下的不同app,可以通过Keychain Access Group访问Keychain信息(支付宝通过淘宝登录)。

它的数据是经过加密的,但支持增删改查和共享(Keychain share)。


沙盒(文件,包括plist)

1、通过文件目录系统直接存储文件(图片视频或其他二进制可转换数据文件等)。

2、plist:只支持数组或字典,关键方法writeToFile。

3、归解档:遵循NSCoding协议的自定义对象obj,实现encode和decode方法,obj归档为文件(archiveRootObject: toFile:),解档(unarchiveObjectWithFile:)


NSUserDefaults

偏好设置。一般用于存储全局环境配置。注意synchronize和取出数据为不可变对象Unmutable。


SQLite3、CoreData

数据库。多用于存储大型数据体系。

你可能感兴趣的:(iOS数据持久化方案简述)