您的位置:首页 > 其它

Xcode9学习笔记67 - 打印查看程序沙箱结构中常用的几个目录

2017-11-20 07:54 441 查看


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)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: