SwiftUI Academy · Pelajaran

Publisher & Subscriber

Pahami aliran inti Combine.

Pelajaran 1 dari 413 langkah

Publisher & Subscriber adalah pelajaran SwiftUI Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar SwiftUI Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus SwiftUI Academy mencakup 4 pelajaran total.

Mengenal Combine

Combine adalah kerangka kerja Apple untuk menangani nilai yang datang seiring waktu, seperti ketukan, pengatur waktu, atau respons jaringan. 🌊

Nilai Seiring Waktu

Alih-alih meminta data sekali, Anda menjelaskan aliran nilai dan merespons setiap kali nilai baru datang, baik sekarang maupun nanti.

Tugas Publisher

Publisher adalah sumbernya. Komponen ini mengirimkan nilai ke hilir dan memberi tahu Anda saat proses selesai atau gagal.

let publisher = [1, 2, 3].publisher

Keluaran dan Kegagalan

Setiap publisher mendeklarasikan dua tipe: Output-nya, yaitu nilai yang dikirim, dan Failure-nya, yaitu kesalahan yang mungkin terjadi.

Just(42) // Output: Int, Failure: Never

Tugas Subscriber

Subscriber terhubung ke publisher, menerima setiap nilai saat datang, lalu menentukan tindakan yang harus dilakukan terhadap nilai tersebut.

Menghubungkan dengan sink

Subscriber sink adalah subscriber paling sederhana: Anda memberinya closure yang dijalankan untuk setiap nilai yang diterima.

publisher.sink { value in
    print(value)
}

Menangani Penyelesaian

sink yang lebih lengkap menerima dua closure: satu untuk penyelesaian, baik selesai maupun gagal, dan satu lagi untuk setiap nilai.

publisher.sink(
    receiveCompletion: { print($0) },
    receiveValue: { print($0) }
)

Menyimpan Langganan

Berlangganan mengembalikan objek cancellable. Pertahankan objek tersebut, atau aliran akan langsung dihentikan.

var bag = Set<AnyCancellable>()
publisher.sink { _ in }
    .store(in: &bag)

Just dan Empty

Just mengirimkan satu nilai lalu selesai. Empty selesai tanpa nilai sama sekali. Keduanya merupakan blok penyusun yang berguna.

let one = Just("hello")

Subject Mendorong Nilai

PassthroughSubject memungkinkan Anda mengirimkan nilai secara manual, cocok untuk meneruskan peristiwa yang Anda kendalikan.

let subject = PassthroughSubject<Int, Never>()
subject.send(5)

Alur Tarik dan Dorong

Subscriber memberi sinyal permintaan, publisher mendorong nilai, dan penyelesaian mengakhiri hubungan dengan rapi.

Pemeriksaan Singkat

Anda menghubungkan closure ke publisher, tetapi tidak ada yang tercetak. Apa yang kemungkinan keliru?

Ringkasan: Tiga Komponen Combine

Anda telah mengenal tiga komponen: publisher mengirimkan nilai, subscriber menerimanya, dan cancellable yang disimpan menjaga koneksi tetap hidup. 🎉

Gratis untuk memulai

Belajar Swift dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Publisher & Subscriber” gratis?

Ya — teks lengkap “Publisher & Subscriber” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus SwiftUI Academy, upgrade ke CoddyKit PRO. Kursus SwiftUI Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Publisher & Subscriber”?

Pahami aliran inti Combine. Kamu berlatih SwiftUI Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai SwiftUI Academy?

Tidak diperlukan pengalaman sebelumnya. SwiftUI Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Publisher & Subscriber” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran SwiftUI Academy ini?

Ya. Setiap pelajaran SwiftUI Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Publisher & Subscriber
  2. Mengubah dengan map & filter
  3. Debounce untuk Pencarian Langsung
  4. Menjembatani Combine ke SwiftUI
← Kembali ke SwiftUI Academy