Sobes.tech
Junior — Middle

Wie erfolgt der Datenaustausch und die Interaktion zwischen den Schichten des Systems bei der Erstellung einer Anwendung von Grund auf?

sobes.tech KI

Antwort von AI

In iOS-Anwendungen basiert die Interaktion zwischen Schichten in der Regel auf architektonischen Mustern (MVC, MVVM, VIPER usw.).

Der Datenaustausch erfolgt über:

  • Modelle (Model): speichern Daten und Geschäftslogik.
  • Ansichten (View): zeigen Daten dem Benutzer.
  • Controller oder ViewModel: verwalten die Logik und verbinden das Modell mit der Ansicht.

Daten werden durch Methoden, Delegates, Closures oder reaktive Bibliotheken (z.B. Combine, RxSwift) übertragen.

Beispiel: Das ViewModel erhält Daten aus dem Modell und aktualisiert die View durch Binding oder Callback.

class ViewModel {
    var dataUpdated: (() -> Void)?
    private var data: [String] = [] {
        didSet {
            dataUpdated?()
        }
    }
    func fetchData() {
        // Daten aus dem Modell holen
        data = ["Item1", "Item2"]
    }
}

class ViewController: UIViewController {
    let viewModel = ViewModel()
    override func viewDidLoad() {
        super.viewDidLoad()
        viewModel.dataUpdated = { [weak self] in
            // UI aktualisieren
            self?.tableView.reloadData()
        }
        viewModel.fetchData()
    }
}