Junior — Middle
Cum are loc schimbul de date și interacțiunea între straturile sistemului la crearea unei aplicații de la zero?
sobes.tech AI
Răspuns de la AI
În aplicațiile iOS, interacțiunea dintre straturi este de obicei construită conform pattern-urilor arhitecturale (MVC, MVVM, VIPER etc.).
Schimbul de date are loc prin:
- Modele (Model): stochează datele și logica de business.
- Vederi (View): afișează datele utilizatorului.
- Controlere sau ViewModel: gestionează logica și leagă modelul de vedere.
Datele sunt transmise prin metode, delegați, closures sau biblioteci reactive (de exemplu, Combine, RxSwift).
Exemplu: ViewModel primește date din model și actualizează View-ul prin binding sau callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Obține date din model
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Actualizează UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}