Junior — Middle
Jak probíhá výměna dat a interakce mezi vrstvami systému při vytváření aplikace od začátku?
sobes.tech AI
Odpověď od AI
V aplikacích iOS je interakce mezi vrstvami obvykle založena na architektonických vzorech (MVC, MVVM, VIPER atd.).
Výměna dat probíhá přes:
- Modely (Model): uchovávají data a obchodní logiku.
- Zobrazení (View): zobrazují data uživateli.
- Kontroléry nebo ViewModel: řídí logiku a spojují model se zobrazením.
Data jsou přenášena metodami, delegáty, closures nebo reaktivními knihovnami (například Combine, RxSwift).
Příklad: ViewModel získává data z modelu a aktualizuje View přes binding nebo callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Získání dat z modelu
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Aktualizace UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}