Sobes.tech
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()
    }
}