Sobes.tech
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()
    }
}