override func viewDidLoad() {super.viewDidLoad()// Do any additional setup after loading the view, typically from a nib.//首先获得应用程序目录的路径,在该目录下有三个文件夹:文档目录、库目录、临时目录以及一个程序包。该目录就是应用程序的沙盒,应用程序只能访问该目录下的内容let homePath = NSHomeDirectory()print("homePath: \(homePath)\n")//打印程序包主目录的路径//系统会为每个程序生成一个私有目录,并随机生成一个字符串作为目录名。在每次程序启动时,这个目录名称都是不同的。使用此方法,可以获得对应的目录集合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)}