SWIFT:仅获取路径

时间:2016-01-11 07:37:21

标签: swift path directory

我正在搜索预定义的函数,以便从包含文件名的路径中获取路径。因此,我没有获取文件名,而是想要其他部分。

当然,我可以像我自己一样:

func PathOnly() -> String {
    let n = NSURL(fileURLWithPath: self).lastPathComponent?.characters.count
    return self.Left(self.characters.count - n!)
}

当扩展String时,为什么重新发明轮子? :-) 有什么想法吗?

1 个答案:

答案 0 :(得分:21)

NSString方法stringByDeletingLastPathComponentNSURL方法 URLByDeletingLastPathComponent完全按照自己的意愿行事。

示例:

let path = "/foo/bar/file.text"
let dir = (path as NSString).stringByDeletingLastPathComponent
print(dir)
// Output: /foo/bar


let url = NSURL(fileURLWithPath: "/foo/bar/file.text")
let dirUrl = url.URLByDeletingLastPathComponent!
print(dirUrl.path!)
// Output: /foo/bar

Swift 3的更新:

let url = URL(fileURLWithPath: "/foo/bar/file.text")
let dirUrl = url.deletingLastPathComponent()
print(dirUrl.path)
// Output: /foo/bar