Junior — Middle
Jak odbywa się wymiana danych i interakcja między warstwami systemu podczas tworzenia aplikacji od podstaw?
sobes.tech AI
Odpowiedź od AI
W aplikacjach iOS interakcja między warstwami jest zwykle oparta na wzorcach architektonicznych (MVC, MVVM, VIPER itp.).
Wymiana danych odbywa się za pomocą:
- Modeli (Model): przechowują dane i logikę biznesową.
- Widoków (View): wyświetlają dane użytkownikowi.
- Kontrolerów lub ViewModel: zarządzają logiką i łączą model z widokiem.
Dane są przesyłane przez metody, delegaty, closures lub biblioteki reaktywne (np. Combine, RxSwift).
Przykład: ViewModel pobiera dane z modelu i aktualizuje View za pomocą bindingu lub callbacka.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Pobierz dane z modelu
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Odśwież UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}