Sobes.tech
Junior — Middle

Explique o conceito e os princípios básicos da biblioteca Combine no contexto da programação reativa.

sobes.tech IA

Resposta da IA

Combine é um framework da Apple para programação reativa que permite trabalhar com eventos assíncronos e fluxos de dados.

Princípios básicos do Combine:

  • Publisher — fonte de dados que publica valores ou eventos.
  • Subscriber — assinante que recebe e processa esses valores.
  • Operators — funções para transformar, filtrar e combinar fluxos de dados.
  • Backpressure — mecanismo de controlo do fluxo de dados para evitar sobrecarga do assinante.

Exemplo de uso do Combine para subscrever alterações de texto num UITextField:

import Combine

class ViewModel {
    var cancellable: AnyCancellable?

    func observeTextField(_ textField: UITextField) {
        cancellable = NotificationCenter.default.publisher(for: UITextField.textDidChangeNotification, object: textField)
            .compactMap { ($0.object as? UITextField)?.text }
            .sink { text in
                print("Texto alterado: \(text)")
            }
    }
}

Assim, o Combine simplifica o trabalho com fluxos assíncronos e permite escrever um código mais declarativo e limpo.