@Model-tyyppien määrittely
Merkitkää luokat pysyviksi malleiksi.
@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: IntOptional-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: UUIDMallien 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 = falsePikatarkistus
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. 🎉
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
- @Model-tyyppien määrittely
- Model Container ja Context
- Kyselyt @Querylla
- Lisääminen, päivittäminen ja poistaminen