ViewModel Tasarlama
Bir ekran için @Observable görünüm modeli oluşturun.
ViewModel Tasarlama, CoddyKit'te ücretsiz bir SwiftUI Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SwiftUI Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SwiftUI Academy kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
A ViewModel Is Just a Class
A ViewModel is usually a class that holds the state and logic for one screen. Using a class lets several views share the same live instance.
class ProfileViewModel {
var name: String = ""
}Make It Observable
Add the @Observable macro so SwiftUI tracks property changes and re-renders the view automatically when state updates.
@Observable
class ProfileViewModel {
var name = ""
}Expose View-Ready State
Give the ViewModel properties the view can read directly, like a formatted greeting, so the view never does its own string building.
var greeting: String {
"Hi, " + name
}Hold the Loading Flag
Track UI status inside the ViewModel. A simple isLoading boolean lets the view decide when to show a spinner versus content.
var isLoading = falseKeep Intent in Methods
Expose actions as methods like load() or save(). The view calls them on tap; the ViewModel decides exactly what happens.
func load() {
isLoading = true
}Name Properties for the UI
Name state after what the screen shows, like buttonTitle or rows, not after raw data. This keeps the view almost declarative.
Hide the Messy Details
Parsing, math, and edge cases belong inside the ViewModel. The view should see clean values and never touch the rough work.
One ViewModel per Screen
Give each screen its own focused ViewModel. A small, single-purpose model is far easier to read, reason about, and test.
Start Empty, Then Fill
Initialize the ViewModel with sensible empty defaults, then populate it when data arrives. The view shows a calm empty state meanwhile.
Avoid View Code Inside
Never import view types or layout code into a ViewModel. Keeping it UI-free is what makes it portable and easy to unit test. ✨
A Complete Small Example
This tiny ViewModel exposes a count and a method to change it, giving the view everything it needs in two clear members.
@Observable
class CounterViewModel {
var count = 0
func increment() { count += 1 }
}Quick Check
Which macro makes a ViewModel class trigger SwiftUI updates?
Recap: Designing a ViewModel
You built an @Observable class that exposes view-ready state and intent methods while hiding the messy details. Next you will bind views to it.
Yapay zeka eğitmeniyle Swift öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“ViewModel Tasarlama” dersi ücretsiz mi?
Evet — “ViewModel Tasarlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SwiftUI Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SwiftUI Academy kursu toplamda 4 dersten oluşur.
“ViewModel Tasarlama” dersinde ne öğreneceğim?
Bir ekran için @Observable görünüm modeli oluşturun. SwiftUI Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SwiftUI Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SwiftUI Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“ViewModel Tasarlama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SwiftUI Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SwiftUI Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- MVVM SwiftUI'ye Neden Uyar
- ViewModel Tasarlama
- Görünümleri ViewModels'e Bağlama
- ViewModels için Bağımlılık Enjeksiyonu