Junior — Middle
Comment l'échange de données et l'interaction entre les couches du système se déroulent-ils lors de la création d'une application à partir de zéro?
sobes.tech IA
Réponse de l'IA
Dans les applications iOS, l'interaction entre les couches est généralement construite selon des modèles architecturaux (MVC, MVVM, VIPER, etc.).
L'échange de données se fait via :
- Modèles (Model) : stockent les données et la logique métier.
- Vues (View) : affichent les données à l'utilisateur.
- Contrôleurs ou ViewModel : gèrent la logique et relient le modèle à la vue.
Les données sont transmises par des méthodes, délégués, closures ou bibliothèques réactives (par exemple, Combine, RxSwift).
Exemple : ViewModel obtient des données du modèle et met à jour la vue via binding ou callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Récupérer les données du modèle
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Mettre à jour l'UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}