SWIFT:仅获取路径

19
我正在寻找一个预定义函数,用于从包含文件名的路径中获取路径。所以我想要的是除了文件名之外的那部分路径。
当然,我可以像自己编写代码一样去实现它:
func PathOnly() -> String {
    let n = NSURL(fileURLWithPath: self).lastPathComponent?.characters.count
    return self.Left(self.characters.count - n!)
}

扩展字符串,但为什么要重新发明轮子?:-) 有什么想法吗?

1个回答

40
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接