Publisher & Subscriber
Pahami aliran inti Combine.
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].publisherKeluaran 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: NeverTugas 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. 🎉
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
- Publisher & Subscriber
- Mengubah dengan map & filter
- Debounce untuk Pencarian Langsung
- Menjembatani Combine ke SwiftUI