0Pricing
Swift Academy · Lezione

Operatori: map, filter, combineLatest

Trasformare e combinare i flussi dei publisher con gli operatori di Combine.

Operatori: map, filter, combineLatest è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.

Benvenuto

Gli operatori Combine trasformano, filtrano e combinano i flussi dei publisher. Si trovano tra un publisher e un subscriber nella pipeline.

map

```swift [1,2,3].publisher .map { $0 * 2 } .sink { print($0) } // 2, 4, 6 ```

filter

```swift (1...10).publisher .filter { $0 % 2 == 0 } .sink { print($0) } // 2,4,6,8,10 ```

compactMap

```swift ["1","two","3"].publisher .compactMap { Int($0) } .sink { print($0) } // 1, 3 ```

combineLatest

```swift let usernamePublisher = usernameField.textPublisher let passwordPublisher = passwordField.textPublisher usernamePublisher .combineLatest(passwordPublisher) .map { !$0.isEmpty && $1.count >= 8 } .assign(to: &loginButton.$isEnabled) ```

merge

```swift merge(upstream1, upstream2) .sink { print($0) } // interleaved values from both ```

zip

```swift zip(publisher1, publisher2) .sink { print($0, $1) } // pairs values one-to-one ```

flatMap

```swift urls.publisher .flatMap { url in URLSession.shared.dataTaskPublisher(for: url).map(\.data) } .sink { data in ... } ```

debounce

```swift searchTextField.textPublisher .debounce(for: 0.3, scheduler: RunLoop.main) .removeDuplicates() .sink { self.search($0) } .store(in: &cancellables) ```

receive(on:)

```swift networkPublisher .receive(on: DispatchQueue.main) .sink { self.updateUI($0) } ```

Verifica rapida

Quale operatore Combine emette un valore solo quando tutti i publisher upstream hanno emesso nuovi valori?

Riepilogo

Concetti chiave: • `map`, `filter`, `compactMap`: trasformano gli elementi del flusso • `combineLatest`: restituisce l'ultimo valore di entrambi; `zip`: abbina i valori uno a uno • `flatMap`: appiattisce i publisher interni asincroni • `debounce`: attende un periodo di silenzio prima di emettere un valore • `receive(on:)`: cambia lo scheduler per le operazioni sulla UI Prossimo: Subject.

Domande Frequenti

La lezione «Operatori: map, filter, combineLatest» è gratuita?

Sì — il testo completo di «Operatori: map, filter, combineLatest» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.

Cosa imparerò in «Operatori: map, filter, combineLatest»?

Trasformare e combinare i flussi dei publisher con gli operatori di Combine. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Operatori: map, filter, combineLatest»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Publisher e subscriber
  2. Operatori: map, filter, combineLatest
  3. PassthroughSubject e CurrentValueSubject
  4. Networking con Combine e URLSession
← Torna a Swift Academy