SwiftUI Academy · Oppitunti

Muuntaminen mapilla ja filterillä

Muokatkaa arvoja niiden virratessa eteenpäin.

Oppitunti 2/413 vaihetta

Muuntaminen mapilla ja filterillä on ilmainen SwiftUI Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/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.

Operatorit muokkaavat virtoja

Publisherin ja subscriberin väliin voitte lisätä operatoreita, jotka muuntavat arvoja niiden kulkiessa alavirtaan.

map muuntaa jokaisen arvon

map-operaattori suorittaa closuren jokaiselle arvolle ja lähettää tuloksen muuttaen virran rakennetta.

[1, 2, 3].publisher
    .map { $0 * 10 }

map voi vaihtaa tyypin

Koska map palauttaa haluamanne arvon, Output-tyyppi voi vaihtua, esimerkiksi numeroista merkkijonoiksi.

[1, 2].publisher
    .map { "Item \($0)" }

filter poistaa arvoja

filter-operaattori säilyttää vain arvot, joiden closure palauttaa truen, ja hylkää loput hiljaisesti.

[1, 2, 3, 4].publisher
    .filter { $0 % 2 == 0 }

Operatorien ketjuttaminen

Operatorit yhdistyvät selkeästi: ketjuttakaa ensin filter ja sitten map, jotta rajaatte virtaa ja muokkaatte sen jälkeen sen rakennetta.

.filter { $0 > 0 }
.map { $0 * 2 }

Järjestyksellä on väliä

Jokainen operaattori näkee vain edellisen operaattorin tulosteen, joten map- ja filter-operaattorien järjestyksen vaihtaminen voi muuttaa tulosta huomaamatta.

compactMap poistaa nil-arvot

Käyttäkää compactMap-operaattoria, kun muunnos voi palauttaa nil-arvon. Combine poistaa nämä tyhjät tulokset puolestanne.

["1", "x", "3"].publisher
    .compactMap { Int($0) }

removeDuplicates

removeDuplicates-operaattori lähettää arvon vain, jos se eroaa edellisestä arvosta.

subject.removeDuplicates()

scan kerryttää tulosta

scan-operaattori ylläpitää kertynyttä tulosta ja lähettää päivitetyn summan jokaiselle arvolle, kuten reaaliaikaisessa summauksessa.

.scan(0) { total, next in total + next }

Luettavat putket

Ylhäältä alas luettuna putki kertoo tarinan: juuri tässä operatorien deklaratiivinen voima pääsee esiin.

.filter { !$0.isEmpty }
.map { $0.uppercased() }

Puhtaat muunnokset

Pitäkää operatorien closuret puhtaina: välttäkää sivuvaikutuksia, jotta jokainen arvo muuntuu ennakoitavasti ja testit pysyvät yksinkertaisina.

Pikatarkistus

Virta lähettää arvot 1, 2, 3 ja 4. Mitkä arvot lähetetään käsittelyn .filter { $0 % 2 == 0 }.map { $0 * 10 } jälkeen?

Kertaus: Virran muotoilu

Opitte muotoilemaan virtoja: map muuntaa, filter rajaa ja compactMap poistaa nil-arvot. ✨

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 ”Muuntaminen mapilla ja filterillä” ilmainen?

Kyllä – oppitunnin ”Muuntaminen mapilla ja filterillä” 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 ”Muuntaminen mapilla ja filterillä”?

Muokatkaa arvoja niiden virratessa eteenpäin. 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 2/4.

Kuinka kauan ”Muuntaminen mapilla ja filterillä”-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. Julkaisijat ja tilaajat
  2. Muuntaminen mapilla ja filterillä
  3. Debounce reaaliaikaiseen hakuun
  4. Combinin yhdistäminen SwiftUIhin
← Takaisin: SwiftUI Academy