Merancang ViewModel
Bangun view model @Observable untuk sebuah layar.
Merancang ViewModel 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.
ViewModel Hanyalah Sebuah Class
ViewModel biasanya merupakan class yang menyimpan state dan logika untuk satu layar. Menggunakan class memungkinkan beberapa View berbagi instance aktif yang sama.
class ProfileViewModel {
var name: String = ""
}Menjadikannya Observable
Tambahkan makro @Observable agar SwiftUI melacak perubahan properti dan menggambar ulang View secara otomatis saat state diperbarui.
@Observable
class ProfileViewModel {
var name = ""
}Menyediakan State yang Siap untuk View
Berikan ViewModel properti yang dapat dibaca langsung oleh View, seperti greeting yang sudah diformat, agar View tidak perlu membuat string sendiri.
var greeting: String {
"Hi, " + name
}Menyimpan Penanda Pemuatan
Lacak status UI di dalam ViewModel. Boolean sederhana isLoading memungkinkan View menentukan kapan harus menampilkan indikator putar dan kapan harus menampilkan konten.
var isLoading = falseMenjaga Maksud di dalam Method
Sediakan tindakan sebagai method seperti load() atau save(). View memanggilnya saat diketuk; ViewModel menentukan dengan tepat apa yang terjadi.
func load() {
isLoading = true
}Memberi Nama Properti Berdasarkan UI
Beri nama state berdasarkan apa yang ditampilkan layar, seperti buttonTitle atau baris, bukan berdasarkan data mentah. Dengan begitu, View hampir sepenuhnya deklaratif.
Menyembunyikan Detail yang Rumit
Penguraian, perhitungan, dan kasus khusus berada di dalam ViewModel. View seharusnya melihat nilai yang bersih dan tidak pernah menangani pekerjaan yang rumit.
Satu ViewModel per Layar
Berikan setiap layar ViewModel yang fokus. Model kecil dengan satu tujuan jauh lebih mudah dibaca, dipahami, dan diuji.
Mulai Kosong, Lalu Isi
Inisialisasi ViewModel dengan nilai kosong yang masuk akal, lalu isi saat data tiba. Sementara itu, View menampilkan state kosong yang tenang.
Hindari Kode View di Dalamnya
Jangan pernah mengimpor tipe View atau kode tata letak ke dalam ViewModel. Menjaganya bebas dari UI membuatnya portabel dan mudah diuji sebagai unit. ✨
Contoh Kecil yang Lengkap
ViewModel kecil ini menyediakan jumlah dan method untuk mengubahnya, sehingga View memiliki semua yang dibutuhkan melalui dua anggota yang jelas.
@Observable
class CounterViewModel {
var count = 0
func increment() { count += 1 }
}Pemeriksaan Singkat
Makro mana yang membuat class ViewModel memicu pembaruan SwiftUI?
Ringkasan: Merancang ViewModel
Anda telah membuat class @Observable yang menyediakan state siap untuk View dan method tindakan, sekaligus menyembunyikan detail yang rumit. Berikutnya Anda akan mengikat View ke dalamnya.
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 “Merancang ViewModel” gratis?
Ya — teks lengkap “Merancang ViewModel” 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 “Merancang ViewModel”?
Bangun view model @Observable untuk sebuah layar. 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 “Merancang ViewModel” 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
- Mengapa MVVM Cocok untuk SwiftUI
- Merancang ViewModel
- Menghubungkan Tampilan ke ViewModels
- Dependency Injection untuk ViewModels