首页 理论教育 如何获取常用目录的路径?

如何获取常用目录的路径?

更新时间:2025-01-09 工作计划 版权反馈
【摘要】:在iOS系统中可以使用“~”代表当前应用的Home目录,所以相关的路径就可以简化。这里要注意的是,目前的运行结果完全是在模拟器上的,如果是展开的完整路径,真实的iOS设备上还是会有所不同。在获取用户偏好设置时,请使用NSUserDefaults类。

在简单介绍了iOS系统提供的目录之后,我们可以使用Foundation提供的接口进行这些目录的访问了。创建一个DirectoryPratise工程,然后使用Foundation的接口访问目录,示例如下:

动手写19.1.1 DirectoryPractise->ViewController.swift

在这里,我们会发现有许多英文加横杠组成的文件夹,比如“4FE6F604-B485-4B36-BE8B-815494118C04”,这类文件夹都是苹果为应用随机生成的,用于存放应用内相关的文件,文件夹在应用安装时会随机分配。使用NSHomeDirectory函数可以直接返回应用的Home目录(根目录)的路径,这个目录下包含了Documents、Library和Temp目录;使用NSTemporaryDirectory函数可以直接返回Temp目录的路径,而Documents和Library的目录路径需要通过NSSearchPathForDirectoriesInDom ains函数去获取。这个函数接受三个参数,第一个参数是提供搜索路径的类型,这是一个枚举类型,定义是FileManager.SearchPathDirectory;第二个参数是提供搜索的域,这也是一个枚举类型,定义是FileManager.SearchPathDomainMask;第三个参数选择是否展开完整路径,这是一个布尔值。由于这个函数最早是为macOS而设计的,所以函数的返回结果是一个数组,在iOS中,一般第一个数组元素就是结果。这里使用FileManager.SearchPathDomainMask.userDomainMask作为搜索的域,然后使用相关的directory选择搜索的目录,最后选择展开完整路径,我们便可以获取到想要的目录的路径了。此外,我们也可以选择不展开完整路径,代码如下:

动手写19.1.2 DirectoryPractise->ViewController.swift

运行模拟器,控制台输出如下:

在这里,我们会发现有许多英文加横杠组成的文件夹,比如“4FE6F604-B485-4B36-BE8B-815494118C04”,这类文件夹都是苹果为应用随机生成的,用于存放应用内相关的文件,文件夹在应用安装时会随机分配。使用NSHomeDirectory函数可以直接返回应用的Home目录(根目录)的路径,这个目录下包含了Documents、Library和Temp目录;使用NSTemporaryDirectory函数可以直接返回Temp目录的路径,而Documents和Library的目录路径需要通过NSSearchPathForDirectoriesInDom ains函数去获取。这个函数接受三个参数,第一个参数是提供搜索路径的类型,这是一个枚举类型,定义是FileManager.SearchPathDirectory;第二个参数是提供搜索的域,这也是一个枚举类型,定义是FileManager.SearchPathDomainMask;第三个参数选择是否展开完整路径,这是一个布尔值。由于这个函数最早是为macOS而设计的,所以函数的返回结果是一个数组,在iOS中,一般第一个数组元素就是结果。这里使用FileManager.SearchPathDomainMask.userDomainMask作为搜索的域,然后使用相关的directory选择搜索的目录,最后选择展开完整路径,我们便可以获取到想要的目录的路径了。此外,我们也可以选择不展开完整路径,代码如下:

动手写19.1.2 DirectoryPractise->ViewController.swift(www.xing528.com)

重新运行模拟器,控制台输出如下:

重新运行模拟器,控制台输出如下:

在iOS系统中可以使用“~”代表当前应用的Home目录,所以相关的路径就可以简化。这里要注意的是,目前的运行结果完全是在模拟器上的,如果是展开的完整路径,真实的iOS设备上还是会有所不同。

在获取用户偏好设置时,请使用NSUserDefaults类。这个类的使用与Dictionary很相似,也是通过键值对进行数据存储的,最后存储到设备的文件中。千万不要直接访问Preferences目录下的文件,如果文件损坏将会失去所有的用户偏好设置信息。

在iOS系统中可以使用“~”代表当前应用的Home目录,所以相关的路径就可以简化。这里要注意的是,目前的运行结果完全是在模拟器上的,如果是展开的完整路径,真实的iOS设备上还是会有所不同。

在获取用户偏好设置时,请使用NSUserDefaults类。这个类的使用与Dictionary很相似,也是通过键值对进行数据存储的,最后存储到设备的文件中。千万不要直接访问Preferences目录下的文件,如果文件损坏将会失去所有的用户偏好设置信息。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈