0Pricing
Swift Academy · レッスン

オペレーター:map、filter、combineLatest

Combineのオペレーターでパブリッシャーストリームを変換・結合します。

「オペレーター:map、filter、combineLatest」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

ようこそ

CombineのOperatorは、Publisherのストリームを変換、フィルタリング、結合します。パイプライン内でPublisherとSubscriberの間に配置します。

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) } ```

確認問題

すべての上流Publisherが新しい値を発行したときだけ値を発行するCombineのOperatorはどれですか?

まとめ

重要なポイント: • `map`、`filter`、`compactMap` — ストリームの要素を変換します • `combineLatest` — 両方から最新の値を取得します。`zip` — 値を1対1で組み合わせます • `flatMap` — 非同期の内部Publisherを平坦化します • `debounce` — 発行前に入力が止まるのを待ちます • `receive(on:)` — UI処理用にschedulerを切り替えます 次はSubjectです。

よくある質問

「オペレーター:map、filter、combineLatest」レッスンは無料ですか?

はい。「オペレーター:map、filter、combineLatest」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「オペレーター:map、filter、combineLatest」で何を学びますか?

Combineのオペレーターでパブリッシャーストリームを変換・結合します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「オペレーター:map、filter、combineLatest」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. パブリッシャーとサブスクライバー
  2. オペレーター:map、filter、combineLatest
  3. PassthroughSubjectとCurrentValueSubject
  4. CombineとURLSessionによるネットワーキング
← Swift Academyに戻る