SwiftUI Academy · Oppitunti

@Model-tyyppien määrittely

Merkitkää luokat pysyviksi malleiksi.

Oppitunti 1/413 vaihetta

@Model-tyyppien määrittely on ilmainen SwiftUI Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu SwiftUI Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. SwiftUI Academy-kurssilla on yhteensä 4 oppituntia.

Tutustutaan SwiftDataan

SwiftData on Applen moderni tapa tallentaa sovelluksen dataa suoraan laitteelle. Kuvaatte datan kerran, ja SwiftData hoitaa tallennuksen puolestanne. 💾

@Model-makro

Muutatte tavallisen luokan tallennettavaksi tyypiksi lisäämällä sen yläpuolelle @Model-makron. Tämä yksi rivi tekee jokaisesta instanssista persistenssiä tukevan.

@Model
class Task {
}

Tallennetut propertyt

Jokainen @Model-luokan tallennettu property tallennetaan automaattisesti. Tekstin ja numeroiden kaltaiset perustyypit eivät tarvitse ylimääräisiä annotaatioita.

@Model
class Task {
    var title: String
    var isDone: Bool
}

Mallit ovat luokkia

SwiftData-mallien on oltava luokkia, eivät struct-rakenteita. SwiftData seuraa niitä viitteen perusteella, jotta se voi tarkkailla muutoksia ja tallentaa ne.

Alustajan lisääminen

Lisätkää mallille init, jotta voitte luoda instansseja alkuarvoilla. Näin tallennetut propertyt alustetaan, kun tehtävä luodaan.

init(title: String, isDone: Bool = false) {
    self.title = title
    self.isDone = isDone
}

Tuetut property-tyypit

SwiftData tallentaa yleiset tyypit suoraan: String, Int, Double, Bool, Date ja Data toimivat ilman erillisiä asetuksia.

var due: Date
var priority: Int

Optional-propertyt

Merkitkää arvo optionaliksi, kun se voi puuttua. SwiftData tallentaa nil-arvon ongelmitta, mikä sopii hyvin kentille, joita käyttäjä ei ole vielä täyttänyt.

var note: String?

Yksilöllisyysrajoitteet

Lisätkää @Attribute(.unique), jotta propertyn päällekkäiset arvot estetään. SwiftData pitää kentän yksilöllisenä koko tallennuksessa.

@Attribute(.unique) var id: UUID

Mallien väliset suhteet

Mallit voivat viitata toisiinsa @Relationship-määrittelyn avulla. Näin yksi tietue voidaan yhdistää toiseen, esimerkiksi projekti moniin tehtäviin.

@Relationship var tasks: [Task]

Cascading-poistot

.cascade-poistosääntö poistaa toisiinsa liittyvät tietueet yhdessä. Kun poistatte projektin, myös sen tehtävät katoavat, jolloin data pysyy siistinä.

@Relationship(deleteRule: .cascade)
var tasks: [Task]

Propertyn ohittaminen

Käyttäkää @Transient-määrettä arvoille, joita ette halua tallentaa, kuten väliaikaiselle välimuistille. SwiftData ohittaa ne levylle kirjoitettaessa.

@Transient var isEditing = false

Pikatarkistus

Pikatarkistus mallien määrittämisestä.

Kertaus: Mallien määrittäminen

Opitte, että @Model muuttaa luokan tallennettavaksi dataksi, joka voi sisältää tavallisia propertyja, optional-arvoja, yksilöllisiä attribuutteja ja suhteita. Datan rakenne on valmis. 🎉

Aloita maksutta

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
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”@Model-tyyppien määrittely” ilmainen?

Kyllä – oppitunnin ”@Model-tyyppien määrittely” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko SwiftUI Academy-kurssin, päivitä CoddyKit PROhon. SwiftUI Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”@Model-tyyppien määrittely”?

Merkitkää luokat pysyviksi malleiksi. Harjoittelet SwiftUI Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni SwiftUI Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin SwiftUI Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”@Model-tyyppien määrittely”-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ä SwiftUI Academy-oppitunnilla?

Kyllä. Jokainen SwiftUI 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

  1. @Model-tyyppien määrittely
  2. Model Container ja Context
  3. Kyselyt @Querylla
  4. Lisääminen, päivittäminen ja poistaminen
← Takaisin: SwiftUI Academy