Sobes.tech
Junior — Middle

O que significa a implementação do protocolo CustomStringConvertible em Swift e para que ela é usada?

sobes.tech IA

Resposta da IA

No Swift, o protocolo CustomStringConvertible é usado para fornecer uma representação de texto personalizada de um objeto. Se um tipo implementar esse protocolo, ele deve definir a propriedade description, que retorna uma string — uma descrição do objeto.

Isso é útil quando você deseja que, ao imprimir um objeto com print() ou ao concatená-lo com outras strings, seja exibida uma string informativa e compreensível, e não a descrição padrão do tipo.

Exemplo:

struct User: CustomStringConvertible {
    var name: String
    var age: Int

    var description: String {
        return "User(name: \(name), age: \(age))"
    }
}

let user = User(name: "Иван", age: 30)
print(user) // Vai exibir: User(name: Иван, age: 30)

Assim, a implementação de CustomStringConvertible melhora a legibilidade e a depuração do código, permitindo controlar como os objetos são exibidos como strings.