SwiftUI Academy · Pelajaran

Merancang ViewModel

Bangun view model @Observable untuk sebuah layar.

Pelajaran 2 dari 413 langkah

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 = false

Menjaga 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.

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 “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

  1. Mengapa MVVM Cocok untuk SwiftUI
  2. Merancang ViewModel
  3. Menghubungkan Tampilan ke ViewModels
  4. Dependency Injection untuk ViewModels
← Kembali ke SwiftUI Academy