Junior — Middle
UIKit kullanarak geliştirme yaparken MVVM mimari desenini nasıl uyguluyorsunuz?
sobes.tech yapay zeka
AI'dan gelen yanıt
UIKit'te MVVM (Model-View-ViewModel) mimarisi, üç bileşen arasındaki sorumlulukların ayrılmasıyla gerçekleştirilir:
- Model — veri ve iş mantığı.
- View — görsel arayüz öğeleri (UIView, UIViewController).
- ViewModel — modeli, View'da görüntülemeye uygun formata dönüştüren aracı.
UIKit'te MVVM uygulaması genellikle şunları içerir:
- Veri hazırlama özellikleri ve metodları içeren bir ViewModel oluşturmak.
- ViewController, ViewModel'daki değişikliklere abone olur (KVO, Combine, RxSwift veya delegeler aracılığıyla) ve UI'yi günceller.
- ViewModel, View'e referans içermez, bu da test edilebilirliği artırır.
Basitleştirilmiş bir ViewModel örneği:
class UserViewModel {
var name: String
var onNameChanged: (() -> Void)?
private var user: User {
didSet {
name = user.name.uppercased()
onNameChanged?()
}
}
init(user: User) {
self.user = user
self.name = user.name.uppercased()
}
func updateName(_ newName: String) {
user.name = newName
}
}
ViewController'da, onNameChanged'e abone olur ve veri değiştiğinde UI'yi güncellersiniz.