web-dev-qa-db-ja.com

パスがSwift2のディレクトリかどうかを確認しますか?

Bashの_-d_ if条件と同様の機能を実現したい場合。

fileExistsAtPath()を使用してファイルが存在するかどうかをテストする方法を知っています。これにより、ファイルが存在する場合はブール値「true」が返され、存在しない場合は「false」が返されます(pathがファイルへのパスを含む文字列):

_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
_

これは可能ですか?可能であれば、どのように実行する必要がありますか?

13

fileExistsAtPathのオーバーロードを使用してpathがディレクトリを表すことを通知できます。

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