问题描述
据我了解,以下是数据存储机制:
- UserDefaults-存储少量数据
- 钥匙串-存储敏感数据
- Coredata-为方便起见,在SQLite之上构建的框架
- SQLite-首选复杂查询机制
- plist序列化-保存plist文件
- Data.write(to:)-将数据保存到指定文件
A。以上信息是真的吗?
B。另外,默认情况下,所有这些机制是否都将数据存储在文档目录(或子目录)路径中?
C。它是否使用手机的本地存储空间,并且在卸载应用程序后会被删除?
如果我错了,请纠正我。抱歉,如果它太基础,我已经阅读了数百篇文章,这很令人困惑
解决方法
是的。您对数据存储机制的理解是正确的。 但是,除了这6种方法之外,还有另外2种有助于在本地存储数据的方法:
i)可编码(协议):用于将自定义对象保存到.plist文件中。它克服了UserDefaults方法的缺点,该方法仅存储内置类型数据,例如Int,String,Array等。
ii)领域:这是一种易于构建的数据库解决方案。您还应该查看其官方文档以了解更多详细信息。
所有方法都将数据存储到文档目录中。您甚至可以打印文档目录的路径,然后在文件管理器中将其打开以查看数据。