Sobes.tech
Junior — Middle

De que formas é possível implementar a transferência de dados entre componentes ou ecrãs no iOS?

sobes.tech IA

Resposta da IA

Existem várias formas de transferir dados entre componentes ou telas no iOS:

  1. Transferência através do inicializador — ao criar um novo controlador, passar dados através do construtor.

  2. Propriedades do controlador — definir os valores das propriedades do controlador de destino antes da transição.

  3. Segue e método prepare(for:sender:) — ao usar Storyboard, é possível passar dados no método prepare, obtendo uma referência ao próximo controlador.

  4. Delegate (delegados) — para retornar dados do controlador filho ao controlador pai.

  5. NotificationCenter — enviar notificações com dados que outros componentes podem ouvir.

  6. Closure (fechos) — passar funções de callback para retornar dados.

  7. Singleton ou gestor de dados compartilhado — armazenar e acessar dados comuns através de um objeto global.

Exemplo de transferência de dados usando prepare(for:sender:):

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "showDetail" {
        if let detailVC = segue.destination as? DetailViewController {
            detailVC.data = self.selectedData
        }
    }
}