Junior — Middle
Como ocorre a troca de dados e a interação entre as camadas do sistema ao criar uma aplicação do zero?
sobes.tech IA
Resposta da IA
Nos aplicativos iOS, a interação entre camadas é geralmente construída com base em padrões arquitetônicos (MVC, MVVM, VIPER, etc.).
A troca de dados ocorre através de:
- Modelos (Model): armazenam dados e lógica de negócio.
- Vistas (View): exibem dados ao utilizador.
- Controladores ou ViewModel: gerem a lógica e ligam o modelo à vista.
Os dados são transmitidos por métodos, delegados, closures ou bibliotecas reativas (por exemplo, Combine, RxSwift).
Exemplo: ViewModel obtém dados do modelo e atualiza a View através de binding ou callback.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// Obter dados do modelo
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// Atualizar UI
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}