Sobes.tech
Junior — Middle

Quais métodos de inicialização de objetos você conhece e usa nas classes?

sobes.tech IA

Resposta da IA

No iOS (Swift/Objective-C), utilizam-se diferentes métodos para inicializar objetos em classes:

  1. Inicializadores (initializers) — métodos especiais que definem o estado inicial do objeto. Em Swift, é init(), em Objective-C, são os métodos -init.

  2. Inicializadores com parâmetros — permitem definir valores iniciais ao criar o objeto.

  3. Construtores com delegação — um inicializador chama outro para evitar duplicação de código.

  4. Inicialização através de propriedades padrão — as propriedades da classe podem ter valores padrão que são definidos ao criar o objeto.

Exemplo em Swift:

class Person {
    var name: String
    var age: Int

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

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

let p1 = Person(name: "Иван", age: 30)
let p2 = Person(name: "Мария")

Em Objective-C, a inicialização geralmente ocorre através do método -init ou inicializadores personalizados, por exemplo:

- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }
    return self;
}