Junior — Middle
¿Cómo se realiza el intercambio de datos y la interacción entre las capas del sistema al crear una aplicación desde cero?
sobes.tech AI
Respuesta de la IA
En las aplicaciones de iOS, la interacción entre capas generalmente se construye según patrones arquitectónicos (MVC, MVVM, VIPER, etc.).
El intercambio de datos ocurre a través de:
- Modelos (Model): almacenan datos y lógica de negocio.
- Vistas (View): muestran datos al usuario.
- Controladores o ViewModel: gestionan la lógica y conectan el modelo con la vista.
Los datos se transmiten mediante métodos, delegados, closures o bibliotecas reactivas (por ejemplo, Combine, RxSwift).
Ejemplo: ViewModel obtiene datos del modelo y actualiza la vista mediante binding o callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Obtener datos del modelo
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Actualizar UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}