Gestione delle directory
Crei, elenchi e rimuovi directory.
Gestione delle directory è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.
Gestione delle directory
FileManager è l'oggetto centrale per creare, elencare, spostare ed eliminare file e cartelle.
Il FileManager condiviso
Usi FileManager.default per la maggior parte delle operazioni. Fornisce un'istanza condivisa sicura per l'uso concorrente.
import Foundation
let fm = FileManager.default
print("Got the default file manager")Creazione di una directory
createDirectory(at:withIntermediateDirectories:) crea una cartella, con la possibilità di creare anche tutte le directory principali mancanti.
import Foundation
let fm = FileManager.default
let dir = URL(fileURLWithPath: "/tmp/myapp/cache")
try? fm.createDirectory(at: dir, withIntermediateDirectories: true)
print("Directory created")Verifica dell'esistenza
fileExists(atPath:) indica se un percorso esiste; un flag inout indica se si tratta di una directory.
import Foundation
let fm = FileManager.default
var isDir: ObjCBool = false
let exists = fm.fileExists(atPath: "/tmp", isDirectory: &isDir)
print("Exists: \(exists), isDir: \(isDir.boolValue)")Elenco dei contenuti
contentsOfDirectory(at:includingPropertiesForKeys:) restituisce gli URL contenuti in una cartella.
import Foundation
let fm = FileManager.default
let dir = URL(fileURLWithPath: "/tmp")
if let items = try? fm.contentsOfDirectory(at: dir, includingPropertiesForKeys: nil) {
print("Item count: \(items.count)")
}Elenco dei soli nomi
La versione basata sul percorso, contentsOfDirectory(atPath:), restituisce semplici stringhe con i nomi dei file quando non servono gli URL completi.
import Foundation
let fm = FileManager.default
if let names = try? fm.contentsOfDirectory(atPath: "/tmp") {
print("Names count: \(names.count)")
}Rimozione degli elementi
removeItem(at:) elimina un file o un intero albero di directory. Utilizzatelo con cautela.
import Foundation
let fm = FileManager.default
let url = URL(fileURLWithPath: "/tmp/myapp/cache/old.txt")
try? fm.removeItem(at: url)
print("Removed item if it existed")Spostamento e ridenominazione
moveItem(at:to:) sposta o rinomina; copyItem(at:to:) duplica un file.
import Foundation
let fm = FileManager.default
let src = URL(fileURLWithPath: "/tmp/a.txt")
let dst = URL(fileURLWithPath: "/tmp/b.txt")
try? fm.moveItem(at: src, to: dst)
print("Moved if source existed")Enumerazione ricorsiva
Un FileManager.DirectoryEnumerator percorre ricorsivamente un intero sottoalbero e restituisce ogni URL annidato.
import Foundation
let fm = FileManager.default
let root = URL(fileURLWithPath: "/tmp")
if let e = fm.enumerator(at: root, includingPropertiesForKeys: nil) {
var count = 0
for case _ as URL in e { count += 1; if count > 5 { break } }
print("Walked some entries: \(count)")
}Attributi dei file
attributesOfItem(atPath:) restituisce metadati come dimensioni e data di modifica in un dizionario.
import Foundation
let fm = FileManager.default
if let attrs = try? fm.attributesOfItem(atPath: "/tmp"),
let size = attrs[.size] {
print("Has size attribute: \(size)")
}Gestione degli errori
Le operazioni sulle directory generano errori in caso di problemi di autorizzazione o percorsi mancanti. Racchiudetele in do/catch per gestirli in modo appropriato.
import Foundation
let fm = FileManager.default
do {
try fm.removeItem(at: URL(fileURLWithPath: "/no/such/file"))
} catch {
print("Remove failed: \(error.localizedDescription)")
}Verifica rapida
Quale opzione fa sì che createDirectory crei anche le cartelle padre mancanti?
Riepilogo
FileManager.default crea cartelle con createDirectory, verifica l'esistenza con fileExists, elenca i contenuti con contentsOfDirectory, elimina con removeItem e sposta o copia gli elementi. È stata inoltre eseguita l'enumerazione dei sottoalberi e sono stati letti gli attributi. Prossimo argomento: le directory sandbox dell'app.
Impara Swift con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 122
- Lezioni
- 409
Domande Frequenti
La lezione «Gestione delle directory» è gratuita?
Sì — il testo completo di «Gestione delle directory» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.
Cosa imparerò in «Gestione delle directory»?
Crei, elenchi e rimuovi directory. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Swift Academy?
Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Gestione delle directory»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Swift Academy?
Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- URL e percorsi dei file
- Lettura e scrittura dei dati
- Gestione delle directory
- Directory della sandbox dell’app