2016-01-11 23 views
5

ファイル名を含むパスからパスを取得するための定義済み関数を探しています。だから、ファイル名を取得する代わりに、私は他の部分が欲しい。もちろんSWIFT:パスを取得する

私は自分自身のようにのようにそれを行うことができます:文字列を拡張する際に

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

が、なぜ車輪の再発明? :-) アイデア?

答えて

13

NSString方法stringByDeletingLastPathComponentURLByDeletingLastPathComponentは正確にあなたがやりたいNSURL方法。

例:スウィフト3用

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 

更新:

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

は、はい、それは予想されるように動作します、ありがとうございます。 – Peter71

関連する問題