Junior — Middle
UIKit ilə inkişaf zamanı MVVM memarlıq nümunəsini necə həyata keçirirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
UIKit-də MVVM (Model-View-ViewModel) memarisi, üç komponent arasında məsuliyyətlərin bölünməsi ilə həyata keçirilir:
- Model — məlumatlar və biznes məntiqi.
- View — vizual interfeys elementləri (UIView, UIViewController).
- ViewModel — vasitəçi, modeldən alınan məlumatları View-də göstərilməyə uyğun formata çevirir.
UIKit-də MVVM tətbiqi adətən aşağıdakıları əhatə edir:
- Məlumatların hazırlanması üçün xüsusiyyətlər və metodlar saxlayan ViewModel yaradılır.
- ViewController, ViewModel-dəki dəyişikliklərə (KVO, Combine, RxSwift və ya delegatlar vasitəsilə) abunə olur və UI-ni yeniləyir.
- ViewModel View-ə istinad etmir, bu da test edilə bilmə qabiliyyətini artırır.
Sadələşdirilmiş ViewModel nümunəsi:
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-də onNameChanged-ə abunə oluruq və məlumatlar dəyişdikdə UI-ni yeniləyirik.