Junior — Middle
Kā notiek datu apmaiņa un mijiedarbība starp sistēmas slāņiem, veidojot lietotni no nulles?
sobes.tech AI
Atbilde no AI
iOS lietojumprogrammās starpslāņu mijiedarbība parasti tiek būvēta saskaņā ar arhitektūras modeļiem (MVC, MVVM, VIPER un citiem).
Datu apmaiņa notiek caur:
- Modeļiem (Model): glabā datus un biznesa loģiku.
- Skatieniem (View): attēlo datus lietotājam.
- Kontrolieriem vai ViewModel: pārvalda loģiku un savieno modeli ar skatu.
Dati tiek pārsūtīti ar metodēm, delegātiem, closures vai reaktīvām bibliotēkām (piemēram, Combine, RxSwift).
Piemērs: ViewModel saņem datus no modeļa un atjauno View, izmantojot binding vai callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Datu saņemšana no modeļa
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// UI atjaunošana
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}