在 iOS 开发中,用户数据有两类:
- 用户本地配置、登录状态等清除后会影响功能的数据
- 缓存数据,比如网络图片等即使被清除了也不影响功能
对于第 1 种数据,应该保存在 Library/Application Support
目录中:
NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES).firstObject;
对于第 2 中数据,应该保存在 Library/Caches
目录中:
NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
对于 Library/Caches
目录中的数据,系统会在某些时候进行自动清理,所以适合用于缓存网络图片。
另外,对于简单的全局配置,可以直接使用 NSUserDefaults.standardUserDefaults
是没有问题的。