SwiftUI Academy · Pelajaran

Makro @Observable

Jadikan sebuah class dapat diamati agar tampilan dapat melacaknya.

Pelajaran 2 dari 413 langkah

Makro @Observable adalah pelajaran SwiftUI Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.

Masalah yang Harus Diselesaikan

Kelas model biasa menyimpan data, tetapi SwiftUI tidak akan menggambar ulang tampilan ketika data tersebut berubah. Kita perlu membuat kelas itu dapat diamati.

Memperkenalkan @Observable

Makro @Observable menandai sebuah kelas agar SwiftUI mengawasi propertinya dan memperbarui setiap tampilan yang membacanya. ✨

@Observable
class Counter {
    var count = 0
}

Fungsi Makro

Sebuah makro menghasilkan kode tambahan untuk Anda saat kompilasi, sehingga satu atribut singkat menambahkan seluruh mekanisme pelacakan perubahan.

Mengimpor Observation

Makro tersebut berada dalam kerangka kerja Observation, jadi tambahkan impor di bagian atas file sebelum menggunakannya.

import Observation

@Observable
class Counter { var count = 0 }

Tidak Perlu Pembungkus

Dengan @Observable, Anda menandai properti tersimpan biasa. Tidak diperlukan pembungkus per properti agar SwiftUI dapat melacaknya.

@Observable
class Counter {
    var count = 0
    var name = "Taps"
}

Pembacaan Memicu Pelacakan

SwiftUI hanya menyegarkan properti yang benar-benar dibaca oleh tampilan dalam body-nya, jadi nilai yang tidak digunakan tidak membebani Anda.

Penulisan Memicu Pembaruan

Saat Anda mengubah properti yang dilacak, setiap tampilan yang membacanya secara otomatis dijadwalkan untuk digambar ulang.

model.count += 1  // views reading count refresh

Properti Terhitung Juga Berfungsi

Properti terhitung yang dibangun dari nilai yang dilacak juga memperbarui tampilan, karena membacanya berarti membaca inputnya.

@Observable
class Counter {
    var count = 0
    var label: String { "Taps: \(count)" }
}

Terperinci Secara Default

Pelacakan bersifat terperinci: mengubah satu properti hanya menyegarkan tampilan yang membaca properti tersebut, bukan seluruh layar.

Menggantikan ObservableObject

@Observable adalah pengganti modern untuk pola lama ObservableObject dan @Published, dengan kode tambahan yang jauh lebih sedikit.

Mengabaikan Properti

Tandai nilai dengan @ObservationIgnored jika nilai tersebut tidak boleh memicu pembaruan, seperti cache atau nilai sementara internal.

@Observable
class Counter {
    @ObservationIgnored var cache = 0
}

Pemeriksaan Singkat

Saatnya memeriksa pemahaman Anda tentang @Observable.

Rangkuman

Anda membuat model @Observable, sehingga SwiftUI melacak properti yang dibaca tampilan Anda dan menggambarnya ulang secara tepat saat nilai tersebut berubah. 🎉

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 “Makro @Observable” gratis?

Ya — teks lengkap “Makro @Observable” 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 “Makro @Observable”?

Jadikan sebuah class dapat diamati agar tampilan dapat melacaknya. 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 2 dari 4.

Berapa lama pelajaran “Makro @Observable” 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. Dari State Tampilan ke Class Model
  2. Makro @Observable
  3. @State untuk Objek yang Dimiliki
  4. Berbagi Model melalui @Environment
← Kembali ke SwiftUI Academy