当我们使用 CoreData 、 UserDefaults 、 Keychain 时

Ome*_*yik 0 cocoa-touch core-data ios

iOS 有不止一个本地数据库,如 CoreData、Keychain、UserDefault。所有 3 个数据库都做同样的事情,保存、更新、选择等。它们之间有什么不同,比如安全性、内存或速度?当使用(CoreData、UserDefaults、Keychain)比其他人更强大时?

Sh_*_*han 6

不是全部,但简而言之

  • Userdefaults :用于保存设置数据。它不能用于跨视图控制器的临时数据。在应用程序的运行状态方面,它是最快的,因为它是 plist 文件或字典

  • CoreData : 是一个用于大数据存储的关系数据库,从简单的 UI 自动创建模型,它是一个基于 sqlite 的

  • 钥匙串:是最安全的,总是用于敏感数据,如令牌、密码等。但它也是最慢的,因为它是 ac 包装器。

  • Core Data 用于管理对象图。它支持 4 种可能的持久性模型。SQLite 数据库只是 4 个选项之一。 (2认同)