SwiftUI Academy · Ders

ViewModel Tasarlama

Bir ekran için @Observable görünüm modeli oluşturun.

2. ders / 413 adım

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

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

Başlamak ücretsiz

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

  1. MVVM SwiftUI'ye Neden Uyar
  2. ViewModel Tasarlama
  3. Görünümleri ViewModels'e Bağlama
  4. ViewModels için Bağımlılık Enjeksiyonu
← SwiftUI Academy Sayfasına Dön