Junior — Middle
Kā jūs īstenojat MVVM arhitektūras modeli, strādājot ar UIKit?
sobes.tech AI
Atbilde no AI
UIKit MVVM (Model-View-ViewModel) arhitektūras paraugs tiek īstenots, sadalot atbildību starp trim komponentiem:
- Modelis — dati un biznesa loģika.
- Skats — vizuālie elementi (UIView, UIViewController).
- Skata modelis (ViewModel) — starpnieks, kas pārveido modeļa datus formātā, kas piemērots skata attēlošanai.
UIKit MVVM parasti ietver:
- Izveidot ViewModel, kas satur īpašības un metodes datu sagatavošanai.
- ViewController abonē izmaiņas ViewModel (izmantojot KVO, Combine, RxSwift vai delegātus) un atjauno UI.
- ViewModel nesatur atsauces uz skatu, kas uzlabo testējamību.
Vienkāršots ViewModel piemērs:
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 abonējas uz onNameChanged un atjauno UI, kad dati mainās.