微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我正在编写一个func来编辑Users / johnDoe目录中的文本文件.
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

我收到一个错误

“Cannot Convert value of type ‘String’ to expected argument type ‘FileManager.SearchPathDirectory'”

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

您可以使用FileManager属性 homeDirectoryForCurrentUser
let homeDirURL = FileManager.default.homeDirectoryForCurrentUser

如果您需要它可以使用早于10.12的操作系统版本,您可以使用

let homeDirURL = URL(fileURLWithPath: NSHomeDirectory())
print(homeDirURL.path)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐