Junior — Middle
Hoe vindt de gegevensuitwisseling en interactie tussen de lagen van het systeem plaats bij het maken van een applicatie vanaf nul?
sobes.tech AI
Antwoord van AI
In iOS-applicaties wordt de interactie tussen lagen meestal opgebouwd volgens architecturale patronen (MVC, MVVM, VIPER, enz.).
Gegevensuitwisseling gebeurt via:
- Modellen (Model): slaan gegevens en bedrijfslogica op.
- Weergaven (View): tonen gegevens aan de gebruiker.
- Controllers of ViewModel: beheren de logica en verbinden het model met de weergave.
Gegevens worden overgedragen via methoden, delegates, closures of reactieve bibliotheken (bijvoorbeeld Combine, RxSwift).
Voorbeeld: ViewModel ontvangt gegevens van het model en werkt de View bij via binding of callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Gegevens ophalen uit het model
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// UI bijwerken
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}