Junior — Middle
Em que contexto ou sob quais circunstâncias o método deinit é chamado em Swift?
sobes.tech IA
Resposta da IA
O método deinit em Swift é chamado automaticamente antes de uma instância de classe ser removida da memória. É um destruidor que permite libertar recursos, fechar ficheiros, cancelar observadores e realizar outras limpezas.
deinit é chamado nas seguintes circunstâncias:
- Quando o contador de referências a um objeto atinge zero (ARC — gestão automática de memória).
- Antes de o objeto ser desinicializado e a memória ser libertada.
Exemplo de uso de deinit:
class FileHandler {
let fileName: String
init(fileName: String) {
self.fileName = fileName
print("Ficheiro aberto: \(fileName)")
}
deinit {
print("Ficheiro fechado: \(fileName)")
}
}
func exemplo() {
let handler = FileHandler(fileName: "data.txt")
// handler é usado dentro da função
} // aqui handler sai do âmbito, chama-se deinit
Assim, deinit é útil para gerir recursos e limpeza ao destruir um objeto.