Junior — Middle
Come avviene lo scambio di dati e l'interazione tra gli strati del sistema durante la creazione di un'applicazione da zero?
sobes.tech AI
Risposta dell'AI
Nelle applicazioni iOS, l'interazione tra i livelli è generalmente strutturata secondo pattern architetturali (MVC, MVVM, VIPER, ecc.).
Lo scambio di dati avviene tramite:
- Modelli (Model): memorizzano dati e logica di business.
- Visualizzazioni (View): mostrano i dati all'utente.
- Controller o ViewModel: gestiscono la logica e collegano il modello alla vista.
I dati vengono trasmessi tramite metodi, delegati, closures o librerie reattive (ad esempio, Combine, RxSwift).
Esempio: il ViewModel riceve dati dal modello e aggiorna la View tramite binding o callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Ottieni dati dal modello
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Aggiorna UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}