Muuntaminen mapilla ja filterillä
Muokatkaa arvoja niiden virratessa eteenpäin.
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. ✨
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
- Julkaisijat ja tilaajat
- Muuntaminen mapilla ja filterillä
- Debounce reaaliaikaiseen hakuun
- Combinin yhdistäminen SwiftUIhin