13

Swiftでチルダを使用してパス文字列を展開するにはどうすればよいですか? のような文字列が"~/Desktop"あり、このパスをメソッドで使用したいのですNSFileManagerが、チルダを に展開する必要があります"/Users/<myuser>/Desktop"

(明確な問題ステートメントを含むこの質問はまだ存在しません。これは簡単に見つけることができるはずです。いくつかの同様の、しかし満足のいくものではない質問はCan't make path to the file in SwiftSimple way to read local file using Swift?Tilde-basedです。 Objective-C のパス)

4

4 に答える 4

33

チルダ展開

スイフト 1

"~/Desktop".stringByExpandingTildeInPath

スイフト2

NSString(string: "~/Desktop").stringByExpandingTildeInPath

スイフト3

NSString(string: "~/Desktop").expandingTildeInPath

ホーム ディレクトリ

さらに、次のようにホーム ディレクトリを取得できます ( String/を返しますString?)。

NSHomeDirectory()
NSHomeDirectoryForUser("<User>")

Swift 3 および OS X 10.12 では、これを使用することもできます ( URL/を返しますURL?):

FileManager.default().homeDirectoryForCurrentUser
FileManager.default().homeDirectory(forUser: "<User>")

編集:Swift 3.1では、これは次のように変更されましたFileManager.default.homeDirectoryForCurrentUser

于 2016-07-03T18:23:58.590 に答える