ViewModel'i Her Kullanıcı Arayüzüne Bağlama
Paylaşılan durumu Compose'a ve SwiftUI'ye bağlayın.
ViewModel'i Her Kullanıcı Arayüzüne Bağlama, CoddyKit'te ücretsiz bir Kotlin Multiplatform Academy dersidir. Bu, 4 dersinin 4. 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, Kotlin Multiplatform Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.
Son Adım
Paylaşılan ViewModel'iniz hazır. Artık her yerel kullanıcı arayüzünün yalnızca durumunu gözlemlemesi ve kullanıcı niyetlerini iletmesi gerekiyor. Son bağlantı budur.
Compose Durumu Toplar
Android'de StateFlow'u Compose durumuna dönüştürmek için collectAsState kullanın. Her yayın, ekranı otomatik olarak yeniden oluşturur.
val state by viewModel.state.collectAsState()Bu Durumdan Çizin
Oluşturulabilir bileşeniniz toplanan state değerini okur ve onu işler. Kullanıcı arayüzü artık tamamen paylaşılan ViewModel'in çıktısına bağlı bir işlevdir.
Text(state.name)
if (state.isLoading) CircularProgressIndicator()Niyetleri Compose'dan Gönderin
Bir düğmeyi onIntent'e bağlayın. Kullanıcı dokunur, Compose eylemi iletir ve paylaşılan ViewModel ne yapılacağına karar verir.
Button(onClick = {
viewModel.onIntent(HomeIntent.Refresh)
}) { Text("Refresh") }iOS'un Bir Köprüye İhtiyacı Var
SwiftUI, Kotlin Flow'u doğrudan toplayamaz. Küçük bir gözlemlenebilir sarmalayıcı, StateFlow'u SwiftUI'ın izleyebileceği bir yapıya dönüştürür.
Bir ObservableObject Sarmalayıcısı
ViewModel'i bir Swift ObservableObject içine sarın. Bu nesne durumun yayımlanmış bir kopyasını tutar ve güncellemeleri SwiftUI'a iletir.
class HomeObservable: ObservableObject {
@Published var state = HomeState(isLoading: false, name: "")
}Flow'u Swift'te Toplayın
Sarmalayıcının içinde Kotlin StateFlow'unu toplayın ve her değeri yayımlanmış özelliğe atayın. SkieKit bunu sizin için de oluşturabilir.
SwiftUI'da Görüntüleyin
SwiftUI görünümü sarmalayıcıyı gözlemler ve state değerini aynı şekilde okur. Tek bir paylaşılan doğruluk kaynağı, Apple'ın yerel tarzıyla çizilir.
Text(observable.state.name)Niyetleri Swift'ten Gönderin
SwiftUI'daki düğmeler de sarmalanmış ViewModel'in onIntent'ini çağırır; böylece iOS dokunuşları tamamen aynı paylaşılan mantığa ulaşır.
Button("Refresh") {
observable.viewModel.onIntent(intent: .refresh)
}Ekran Kapanırken Temizleyin
Bir ekran kapandığında, kapsamın iptal edilmesi ve hiçbir şeyin sızmaması için her platformun yaşam döngüsünden ViewModel'in clear() yöntemini çağırın.
Aynı Beyin, İki Yüz
Artık her iki uygulama tek bir ViewModel'i paylaşır: durum ve kararlar aynıdır; yalnızca görüntüleme farklıdır. KMP'nin en güçlü yanı budur. 🎉
Hızlı Kontrol
SwiftUI'ın paylaşılan bir StateFlow'u nasıl kullandığını doğrulayalım.
Özet
Compose collectAsState kullanır; SwiftUI ise bir ObservableObject sarmalayıcısı kullanır. Her ikisi de durumu gözlemler ve niyetleri tek bir paylaşılan ViewModel'e gönderir. 🚀
Yapay zeka eğitmeniyle Kotlin öğ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'i Her Kullanıcı Arayüzüne Bağlama” dersi ücretsiz mi?
Evet — “ViewModel'i Her Kullanıcı Arayüzüne Bağlama” 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 Kotlin Multiplatform Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Multiplatform Academy kursu toplamda 4 dersten oluşur.
“ViewModel'i Her Kullanıcı Arayüzüne Bağlama” dersinde ne öğreneceğim?
Paylaşılan durumu Compose'a ve SwiftUI'ye bağlayın. Kotlin Multiplatform 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.
Kotlin Multiplatform Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin Multiplatform 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 4. dersidir.
“ViewModel'i Her Kullanıcı Arayüzüne Bağlama” 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 Kotlin Multiplatform Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin Multiplatform 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
- Çok Platformlu Bir ViewModel Temeli
- Kullanıcı Arayüzü Durumunu StateFlow Olarak Dışa Açma
- Kullanıcı Niyetlerini ve Eylemlerini Yönetme
- ViewModel'i Her Kullanıcı Arayüzüne Bağlama