Swift File Manager 三种文件路径查找方法对比
目录
1. 引言
在File Manager种有三种文件路径的查找方法:NSSearchPathForDirectoriesInDomains(后文简称为NSSearch)、urls和url。虽然官方文档中有写到“应该考虑使用 FileManager的urls(for:in:)和url(for:in:appropriateFor:create:)作为首选格式”,但我个人认为NSSearch仍有用武之地,比如:在需要返回字符串格式的路径时,使用NSSearch更方便。以下内容根据官方文档对这三种方法进行一个简短的对比,以便在开发过程中有针对性的取用。
2. 三种文件路径查找方法
2. 1 NSSearchPathForDirectoriesInDomains(::_😃
该方法返回一个包含指定域名的目录树的字符串的字典。
func NSSearchPathForDirectoriesInDomains(
_ directory: FileManager.SearchPathDirectory,
_ domainMask: FileManager.SearchPathDomainMask,
_ expandTilde: Bool
) -> [String]
2.2 urls(for:in:)
该方法返回一个包含指定域名的 URL 的数组。
func urls(
for directory: FileManager.SearchPathDirectory,
in domainMask: FileManager.SearchPathDomainMask
) -> [URL]
2.3 url(for:in:appropriateFor:create:)
该方法返回一个 URL,可以用于查找指定文件夹的路径。
func url(
for directory: FileManager.SearchPathDirectory,
in domain: FileManager.SearchPathDomainMask,
appropriateFor url: URL?,
create shouldCreate: Bool
) throws -> URL
Reference
FileManager | Apple Developer Documentation
NSSearchPathForDirectoriesInDomains(_:_:_😃 | Apple Developer Documentation
FileManager.SearchPathDirectory | Apple Developer Documentation
urls(for:in:) | Apple Developer Documentation
url(for:in:appropriateFor:create:) | Apple Developer Documentation