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:
-
Transferência através do inicializador — ao criar um novo controlador, passar dados através do construtor.
-
Propriedades do controlador — definir os valores das propriedades do controlador de destino antes da transição.
-
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.
-
Delegate (delegados) — para retornar dados do controlador filho ao controlador pai.
-
NotificationCenter — enviar notificações com dados que outros componentes podem ouvir.
-
Closure (fechos) — passar funções de callback para retornar dados.
-
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
}
}
}