Ominaisuudet ja subscripts
Käyttäkää lazy-tallennettuja ominaisuuksia, get/set-laskettuja ominaisuuksia, ominaisuuksien tarkkailijoita ja subscript-rakenteita mukautettuun indeksointiin.
Ominaisuudet ja subscripts on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/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.
Johdanto
Tässä oppitunnissa käsitellään edistyneitä ominaisuuksia: lazy-ominaisuuksia, get/set-lohkoilla laskettavia ominaisuuksia, tarkkailijoita sekä mukautettuja subscript-määrityksiä.
lazy-ominaisuus
lazy-ominaisuudet luodaan vasta ensimmäisellä käyttökerralla. Ne ovat hyödyllisiä raskaita operaatioita varten.
struct DataLoader {
lazy var data: [Int] = {
print("Loading...")
return [1,2,3]
}()
}
var loader = DataLoader()
print("before access")
print(loader.data)Lasketut get/set-ominaisuudet
Lasketut ominaisuudet käyttävät get/set-lohkoja arvojen laskemiseen tai päivittämiseen.
struct Circle {
var radius: Double
var diameter: Double {
get { return radius * 2 }
set { radius = newValue / 2 }
}
}
var c = Circle(radius: 5)
print(c.diameter) // 10
c.diameter = 20
print(c.radius) // 10Tarkkailijat
Käyttäkää willSet- ja didSet-tarkkailijoita ominaisuuksien muutoksiin reagoimiseen.
class Account {
var balance: Double = 0 {
willSet { print("Will set to", newValue) }
didSet { print("Did set from", oldValue) }
}
}
var a = Account()
a.balance = 50Subscript
Subscript-määritysten avulla voidaan määritellä mukautettu pääsy hakasuljesyntaksilla.
struct TimesTable {
let multiplier: Int
subscript(i: Int) -> Int {
return multiplier * i
}
}
let three = TimesTable(multiplier: 3)
print(three[4]) // 12Moniparametrinen subscript
Subscriptit voivat vastaanottaa useita parametreja, esimerkiksi matriisin rivi- ja sarakeindeksit.
struct Matrix {
var grid: [[Int]]
subscript(row: Int, col: Int) -> Int {
return grid[row][col]
}
}
let m = Matrix(grid:[[1,2],[3,4]])
print(m[1,0]) // 3lazy – pikatarkistus
Pikatarkistus: Mitä lazy-avainsana tekee?
Kertaus
Kertaus: Käyttäkää lazy-ominaisuutta siirrettyyn alustukseen, get/set-lohkoja laskettuihin ominaisuuksiin, willSet/didSet-tarkkailijoita muutosten seuraamiseen ja subscript-määrityksiä mukautettuun käsittelyyn.
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 ”Ominaisuudet ja subscripts” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Ominaisuudet ja subscripts”. 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 ”Ominaisuudet ja subscripts”?
Käyttäkää lazy-tallennettuja ominaisuuksia, get/set-laskettuja ominaisuuksia, ominaisuuksien tarkkailijoita ja subscript-rakenteita mukautettuun indeksointiin. 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 1/4.
Kuinka kauan ”Ominaisuudet ja subscripts”-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
- Ominaisuudet ja subscripts
- lazy ja ominaisuuksien tarkkailijat
- Get/set-lasketut ominaisuudet
- Subscripts mukautettuun indeksointiin