Tipos de inicializadores em Swift

May 06 2023
No Swift, inicializadores são métodos especiais chamados quando uma instância de uma classe, struct ou enum é criada. Eles são usados ​​para configurar o estado inicial da instância e podem receber parâmetros para personalizar o processo de inicialização.

No Swift, inicializadores são métodos especiais chamados quando uma instância de uma classe, struct ou enum é criada. Eles são usados ​​para configurar o estado inicial da instância e podem receber parâmetros para personalizar o processo de inicialização.

Existem dois tipos de inicializadores no Swift: inicializadores designados e inicializadores de conveniência. Vamos dar uma olhada em cada um deles e ver como eles diferem.

Inicializadores designados

Os inicializadores designados são a principal maneira de inicializar uma nova instância de uma classe, struct ou enum. Eles são responsáveis ​​por inicializar todas as propriedades da instância e devem chamar um inicializador designado da superclasse antes de fazer isso.

Aqui está um exemplo de um inicializador designado para uma Personclasse simples:

class Person { 
    let name: String 
    let age: Int

    init(name: String, age: Int) { 
        self.name =name self.age = age 
    } 
}

Inicializadores de conveniência

Os inicializadores de conveniência são inicializadores secundários que fornecem um atalho para inicializar uma instância de uma classe, struct ou enum. Eles devem chamar um inicializador designado da mesma classe antes de fazer qualquer outra coisa. Em suma, estamos usando-o para nossa conveniência para inicializar.

Aqui está um exemplo de um inicializador de conveniência para a Personclasse:

class Person { 
    let name: String 
    let age: Int 
    init(name: String, age: Int) { 
        self.name =name 
        self.age = age 
    } 

    convenience init(name: String) { 
        self.init(name: name, age: 0) 
    } 
}

Conclusão

Em resumo, os inicializadores designados são a principal maneira de inicializar uma nova instância de uma classe, struct ou enum e são responsáveis ​​por inicializar todas as propriedades da instância. Os inicializadores de conveniência fornecem um atalho para inicializar uma instância com um conjunto específico de parâmetros e devem chamar um inicializador designado da mesma classe antes de fazer qualquer outra coisa.

Compreendendo a diferença entre inicializadores designados e de conveniência, você pode escrever um código mais eficiente e eficaz e criar instâncias de suas classes, structs e enums com mais facilidade.

Por favor, bata palmas e siga se você gostou deste post.