2016-05-14 7 views
9

Bashの-difの状態と同様の機能を実現したい場合は、パスがSwift2のディレクトリであることを確認しますか?

は、私は、ファイルが、それは(pathを想定していないと、ファイルへのパスを含む文字列がある場合、ファイルが存在する場合は、「真」と「偽」ブール値を返しますfileExistsAtPath()、で存在するかどうかをテストする方法を承知しています):

if NSFileManager.fileExistsAtPath(path) { 
    print("File exists") 
} else { 
    print("File does not exist") 
} 

しかし、私はpathで指定されたパスは、次のbashのコードのようなディレクトリ、あるかどうかを確認したいと思います:

if [ -d "$path" ]; then 
    echo "$path is a directory" 
elif [ -f "$path" ]; then 
    # this is effectively the same as fileExistsAtPath() 
    echo "$path is a file" 
fi 

が可能これで、そうであれば、どのようにすべき実行するエド?あなたはpathがディレクトリを表していることを示していますfileExistsAtPathのオーバーロードを使用することができます

+3

http://stackoverflow.com/a/24696209/1187415 –

+0

私は、謝罪を同意するものとします。私はこれを重複としてフラグを立てました。 – perhapsmaybeharry

答えて

18

var isDir : ObjCBool = false 
let path = ... 
let fm = FileManager.default 
if fileManager.fileExists(atPath: path, isDirectory:&isDir) { 
    print(isDir.boolValue ? "File exists" : "Directory exists") 
} else { 
    print("File does not exist") 
} 
+1

Swiftで使用しなければならないソリューションはどのくらいのものですか?迅速な方法は本当にありませんか? –

+0

@ R.P.Carson Swiftの新しいバージョンの回答を更新しました。 – dasblinkenlight

関連する問題