1. ホーム
  2. ios

[解決済み] SwiftでDocumentsディレクトリにファイルが存在するかどうかを確認する方法は?

2022-04-30 22:55:10

質問

のDocumentsディレクトリにファイルが存在するかどうかを確認する方法。 Swift ?

を使っています。 [ .writeFilePath ] メソッドで画像をDocumentsディレクトリに保存し、アプリを起動するたびにその画像をロードしたいのです。しかし、保存された画像がない場合、デフォルトの画像を用意しています。

しかし、どのようにすれば [ func fileExistsAtPath(_:) ] 関数を使用します。どなたか、この関数にパスの引数を渡して使用する例を教えていただけませんか。

これは一般的な質問なので、そこにコードを貼り付ける必要はないと思っています。どんな助けでも大いに感謝します。

乾杯

解決方法は?

Swift 4.x バージョン

    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
    let url = NSURL(fileURLWithPath: path)
    if let pathComponent = url.appendingPathComponent("nameOfFileHere") {
        let filePath = pathComponent.path
        let fileManager = FileManager.default
        if fileManager.fileExists(atPath: filePath) {
            print("FILE AVAILABLE")
        } else {
            print("FILE NOT AVAILABLE")
        }
    } else {
        print("FILE PATH NOT AVAILABLE")
    }

Swift 3.x バージョン

    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
    let url = URL(fileURLWithPath: path)

    let filePath = url.appendingPathComponent("nameOfFileHere").path
    let fileManager = FileManager.default
    if fileManager.fileExists(atPath: filePath) {
        print("FILE AVAILABLE")
    } else {
        print("FILE NOT AVAILABLE")
    }

Swift 2.x のバージョンでは URLByAppendingPathComponentを使用します。

    let path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
    let url = NSURL(fileURLWithPath: path)
    let filePath = url.URLByAppendingPathComponent("nameOfFileHere").path!
    let fileManager = NSFileManager.defaultManager()
    if fileManager.fileExistsAtPath(filePath) {
        print("FILE AVAILABLE")
    } else {
        print("FILE NOT AVAILABLE")
    }