Junior — Middle
Ako prebieha výmena údajov a interakcia medzi vrstvami systému pri vytváraní aplikácie od začiatku?
sobes.tech AI
Odpoveď od AI
V iOS aplikáciách je interakcia medzi vrstvami zvyčajne postavená podľa architektonických vzorov (MVC, MVVM, VIPER a pod.).
Výmena dát prebieha cez:
- Modely (Model): ukladajú dáta a biznis logiku.
- Zobrazenia (View): zobrazujú dáta používateľovi.
- Kontroléry alebo ViewModel: riadia logiku a spájajú model so zobrazením.
Dáta sa prenášajú cez metódy, delegáty, closures alebo reaktívne knižnice (napríklad, Combine, RxSwift).
Príklad: ViewModel získava dáta z modelu a aktualizuje View cez binding alebo callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Získanie dát z modelu
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Aktualizovať UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}