" Bash喜欢" NSURL或基础路径的路径

时间:2017-10-31 10:17:35

标签: swift foundation

在大多数命令行工具中,可以使用以下格式指定文件路径:../someFile~/anotherFile/foo/bar。如何从这样的路径初始化有效的Swift URL或(Foundation)路径?

修改
也许代码示例更清楚,比方说我想从路径初始化一个String,我的用户目录中有一个foo文件,这样做:

try String(contentsOfFile: "~/foo")

不起作用(错误是文件不存在)

1 个答案:

答案 0 :(得分:1)

在Swift中,你可以这样做:

let str = "~/Documents"
// NSString has a function for decoding this, not available to String:
let str2 = (str as NSString).standardizingPath as String 

// Swift deprecated the String path manipulation functions,
// but supplies them as part of NSURL:
let url = URL(fileURLWithPath: str)
let url2 = url.standardizedFileURL // Expands the URL