Conveniência de Inicialização No Swift

Khuong Pham
Khuong Pham

Siga

23 de Maio de 2017 · 2 min de leitura

Classes, estruturas e enumerações precisa de pelo menos um vazio método de inicialização para inicializar para preparar as suas instâncias.

para estruturas e enumerações, o seu construtor já declarou implicitamente.

Sobre as Classes, se escrevemos uma classe, devemos declará-lo explicitamente.

Ok, é bom, certo?

mas uma classe tem herança, o que significa que ela pode herdar seus métodos de super classe, propriedades e outras características. Vamos passar para o próximo código abaixo

temos uma classe B – uma subclasse da classe A. Adicionamos uma variável, e adicionamos um inicializador para definir um valor para b para que ele compile. Pode-se esperar que B tenha herdado o inicializador de A, init(a: Int). Como é que As init(a: Int) sabe atribuir um valor à variável b que B adicionou? Não. Então não podemos inicializar um Bexemplo com um inicializador que não pode inicializar todos os nossos valores, assim:

Então, Se eu só quiser inicializar a ou b, com um valor padrão do resto. Como poderia?

Conveniência init vai nos ajudar, adicione este código

Então temos uma forma conveniência para inicializar um Binstância.

Que é isso! Espero que aprecie este artigo, obrigado por ler e eu vou vê-lo da próxima vez.