如何在不知道Swift3中的用户名的情况下获取用户主目录路径(用户/“用户名”)

强尼·墓碑

我正在制作一个可编辑Users / johnDoe Dir中的文本文件的功能。

let filename = "random.txt"
let filePath = "/Users/johnDoe"
let replacementText = "random bits of text"
do {

 try replacementText.write(toFile: filePath, atomically: true, encoding: .utf8)

}catch let error as NSError {
print(error: + error.localizedDescription)
}

但我希望能够拥有一条通向世界的道路。就像是

let fileManager = FileManager.default
    let downloadsURL =  FileManager.default.urls(for: .downloadsDirectory, in: .userDomainMask).first! as NSURL
    let downloadsPath = downloadsURL.path

但对于JohnDoe文件夹。我尚未找到有关如何执行此操作的任何文档。我能找到的最接近的东西是使用NSHomeDirectory()提到的。我不确定如何在这种情况下使用它。

当我尝试添加它时...

let fileManager = FileManager.default
    let downloadsURL =  FileManager.default.urls(for: NSHomeDirectory, in: .userDomainMask).first! as NSURL
    let downloadsPath = downloadsURL.path

我收到一个错误:

“无法将类型为“字符串”的值转换为预期的参数类型为“ FileManager.SearchPathDirectory””

我已经试过了.NSHomeDirectory,.NSHomeDirectory(),NShomeDirectory,NShomeDirectory()

里奥·达布斯

您可以使用FileManager属性homeDirectoryForCurrentUser

let homeDirURL = FileManager.default.homeDirectoryForCurrentUser

如果您需要它与低于10.12的早期OS版本一起使用,则可以使用

let homeDirURL = URL(fileURLWithPath: NSHomeDirectory())

print(homeDirURL.path)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章