说到数据的保存,我们先来了解下数据存储的地址,沙箱模型的有四个文件夹,分别是:Document,AppName.app, Library,tmp。
Documents 目录:您应该将所有的应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。
AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。
Library 目录:包括Caches 和 PreferencesPreferences
PreferencesPreferences:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好。
Caches:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
tmp 目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。
// Document 路径
let documentPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomainMask.UserDomainMask, true)
let documnetPath = documentPaths[0] as! String
// Library 路径
let libraryPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory,NSSearchPathDomainMask.UserDomainMask, true)
let libraryPath = libraryPaths[0] as! String
// Cache 路径
let cachePaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory,NSSearchPathDomainMask.UserDomainMask, true)
let cachePath = cachePaths[0] as! String
// tmp 路径
let tmpDir = NSTemporaryDirectory()
一、 NSUserDefaults
一般来说,我们用来保存的偏好设置都是用 NSUserDefaults中,快速简单。
//1、 保存
NSUserDefaults .standardUserDefaults().setObject("weNeedSaveValue", forKey: "My_Key")