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()
}
}