override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //首先获得应用程序目录的路径,在该目录下有三个文件夹:文档目录、库目录、临时目录以及一个程序包。该目录就是应用程序的沙盒,应用程序只能访问该目录下的内容 let homePath = NSHomeDirectory() print("homePath: (homePath) ")//打印程序包主目录的路径 //系统会为每个程序生成一个私有目录,并随机生成一个字符串作为目录名。在每次程序启动时,这个目录名称都是不同的。使用此方法,可以获得对应的目录集合 let documentPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true) //获得并输出目录集合中的第一个元素,即沙盒中的文档目录,应用程序的所有数据文件应该写入到这个目录下,这个目录通常用于存储用户数据 print("documentPath1: (documentPaths[0])") let documentPaht2 = NSHomeDirectory()+"/Documents"//创建一个字符串对象,同样来用表示沙箱中的文档目录 print("documentPath2: (documentPaht2)")//打印并与上一条日志比较是否相同 //获取沙箱下的库目录,它包含两个子目录:缓存目录、参数目录 let libraryPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true) print("libraryPath1: (libraryPaths[0])")//打印输出库目录 let libraryPath2 = NSHomeDirectory() + "/Library"//创建一个字符串对象,同样表示沙箱中的库目录 print("libraryPath2: (libraryPath2)")//打印并与上一条日志比较是否相同 //获得沙箱下的缓存目录 let cachePaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true) //打印输出缓存目录,该目录用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息 print("cachePath1: (cachePaths[0])") let cachePaht2 = NSHomeDirectory() + "/Caches"//创建一个字符串对象,同样表示沙箱中的缓存目录 print("cachePath2: (cachePaht2)")//打印并与上一条日志比较是否相同 let tempPath1 = NSTemporaryDirectory()//当前用户的临时路径 print(tempPath1) let tempPath2 = NSHomeDirectory() + "/tmp" print(tempPath2) }