Sovelluksen hiekkalaatikon hakemistot
Käytä Documents-, Caches- ja väliaikaisia sijainteja.
Sovelluksen hiekkalaatikon hakemistot on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Sovelluksen hiekkalaatikkohakemistot
Sovellukset toimivat hiekkalaatikossa: ne voivat kirjoittaa vain omaan säilöönsä. Asiakirjoille, välimuistille ja tilapäisille tiedostoille on olemassa vakiokansiot.
Documents-hakemiston etsiminen
FileManager.urls(for:in:) palauttaa tunnetun hakemiston URL-osoitteet. .documentDirectory sisältää käyttäjätietoja, joista on otettava varmuuskopio.
import Foundation
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
print("Documents path ends correctly: \(docs.lastPathComponent)")Tiedosto-URL-osoitteiden muodostaminen
Liittäkää tiedostonimi hakemiston URL-osoitteeseen, niin saatte omille tiedostoillenne täydellisen polun.
import Foundation
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
let file = docs.appendingPathComponent("profile.json")
print(file.lastPathComponent)Caches-hakemisto
.cachesDirectory sisältää uudelleen luotavissa olevia tietoja. Järjestelmä saattaa poistaa niitä levytilan ollessa vähissä, joten täällä ei pidä säilyttää korvaamattomia tietoja.
import Foundation
let fm = FileManager.default
let caches = fm.urls(for: .cachesDirectory, in: .userDomainMask).first!
print("Caches dir name: \(caches.lastPathComponent)")Tilapäinen hakemisto
FileManager.default.temporaryDirectory tarjoaa työtilan lyhytikäisille tiedostoille, jotka on siivottava itse.
import Foundation
let tmp = FileManager.default.temporaryDirectory
let scratch = tmp.appendingPathComponent("work.tmp")
print("Temp file path ready: \(scratch.lastPathComponent)")Documents, Caches ja tmp
Käyttäkää Documents-hakemistoa käyttäjän luomille, varmuuskopioitaville tiedoille, Caches-hakemistoa uudelleen luotaville tiedoille ja tmp-hakemistoa tarpeettomille väliaikaistiedostoille.
import Foundation
// Choose the right folder for the data's lifetime.
print("Documents = backed up, Caches = purgeable, tmp = transient")Application Support
.applicationSupportDirectory sisältää sovelluksen hallinnoimia tietoja, jotka eivät ole suoraan käyttäjälle näkyviä, kuten tietokantoja. Hakemisto luodaan usein ensimmäisen käynnistyksen yhteydessä.
import Foundation
let fm = FileManager.default
let support = fm.urls(for: .applicationSupportDirectory, in: .userDomainMask).first!
try? fm.createDirectory(at: support, withIntermediateDirectories: true)
print("Ensured Application Support exists")Tietojen tallentaminen Documents-hakemistoon
Yhdistämällä hakemiston URL-osoitteen kirjoitustoimintoon voitte säilyttää käyttäjätietoja hiekkalaatikon sisällä.
import Foundation
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
let url = docs.appendingPathComponent("note.txt")
try? "hello".write(to: url, atomically: true, encoding: .utf8)
print("Saved into Documents")Tietojen lukeminen
Hiekkalaatikon tiedostot luetaan samalla tavalla kuin kaikki muutkin tiedosto-URL-osoitteet, koska polku on säilön sisällä täysin kelvollinen.
import Foundation
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
let url = docs.appendingPathComponent("note.txt")
if let text = try? String(contentsOf: url, encoding: .utf8) {
print(text)
}Varmuuskopioinnin ulkopuolelle jättäminen
Asettakaa suurten, uudelleen luotavissa olevien tiedostojen isExcludedFromBackup-resurssiarvoksi sopiva arvo, jotta ne eivät kasvata iCloud-varmuuskopioiden kokoa.
import Foundation
var url = URL(fileURLWithPath: "/tmp/big.cache")
var values = URLResourceValues()
values.isExcludedFromBackup = true
try? url.setResourceValues(values)
print("Marked excluded from backup")Hiekkalaatikon merkitys
Hiekkalaatikon polut vaihtelevat asennuksen ja laitteen mukaan, joten niitä ei pidä koskaan kirjoittaa kiinteästi koodiin. Selvittäkää hakemistot aina ajon aikana FileManager-luokan avulla.
import Foundation
// Never hardcode /var/mobile/... — resolve at runtime instead.
let fm = FileManager.default
let docs = fm.urls(for: .documentDirectory, in: .userDomainMask).first!
print("Resolved Documents dynamically: \(!docs.path.isEmpty)")Pikatarkistus
Mihin hakemistoon tulee tallentaa käyttäjätiedot, joista on otettava varmuuskopio?
Kertaus
Sovellukset tallentavat tiedostoja hiekkalaatikkokansioihin, jotka selvitetään FileManager.urls(for:in:)-funktion avulla: Documents varmuuskopioitaville käyttäjätiedoille, Caches uudelleen luotaville tiedoille ja tmp tilapäisille tiedostoille. Lisäksi käytettävissä on Application Support. Selvittäkää polut aina ajon aikana, älkääkä koskaan kirjoittako niitä kiinteästi koodiin. Tähän päättyy File I/O -kurssi.
Opi Swift tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 122
- Oppitunnit
- 409
Usein kysytyt kysymykset
Onko oppitunti ”Sovelluksen hiekkalaatikon hakemistot” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Sovelluksen hiekkalaatikon hakemistot”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Sovelluksen hiekkalaatikon hakemistot”?
Käytä Documents-, Caches- ja väliaikaisia sijainteja. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Sovelluksen hiekkalaatikon hakemistot”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?
Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- URL-osoitteet ja tiedostopolut
- Datan lukeminen ja kirjoittaminen
- Hakemistojen hallinta
- Sovelluksen hiekkalaatikon hakemistot