Loading

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

posted @ 2023-04-11 14:18  realXuan  阅读(67)  评论(0编辑  收藏  举报  来源