Sjekker om en mappe eksisterer

Swift:
Sjekker om en mappe eksisterer

Hvordan:

Swifts Foundation-rammeverk tilbyr FileManager-klassen, som har metoder for å håndtere filsystemet. Du kan bruke FileManager for å sjekke om en katalog eksisterer. Her er et kodeutdrag om hvordan du gjør dette:

import Foundation

let fileManager = FileManager.default
let path = "/sti/til/din/katalog"

if fileManager.fileExists(atPath: path, isDirectory: nil) {
    print("Katalogen eksisterer")
} else {
    print("Katalogen eksisterer ikke")
}

Men, dette sjekker for både filer og kataloger. Hvis du spesifikt ønsker å verifisere at en katalog eksisterer, må du sende en peker til en Boolesk verdi i isDirectory:

import Foundation

let fileManager = FileManager.default
let path = "/sti/til/din/katalog"
var isDirectory: ObjCBool = false

if fileManager.fileExists(atPath: path, isDirectory: &isDirectory), isDirectory.boolValue {
    print("Katalogen eksisterer")
} else {
    print("Katalogen eksisterer ikke")
}

Bruke et tredjepartsbibliotek

Per nå krever vanligvis ikke sjekking for eksistensen av en katalog i Swift tredjepartsbiblioteker på grunn av robustheten til FileManager-klassen. Men, for mer kompleks filmanipulasjon og sjekking, tilbyr biblioteker som Files av John Sundell en mer Swift-vennlig API.

Slik kan du bruke det:

Først, legg til Files i prosjektet ditt via Swift Package Manager.

Deretter kan du sjekke for eksistensen av en katalog slik:

import Files

do {
    _ = try Folder(path: "/sti/til/din/katalog")
    print("Katalogen eksisterer")
} catch {
    print("Katalogen eksisterer ikke")
}

Merk: Siden tredjepartsbiblioteker kan endres, referer alltid til den nyeste dokumentasjonen for bruk og beste praksiser.