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:
-
Inicializadores (initializers) — métodos especiais que definem o estado inicial do objeto. Em Swift, é
init(), em Objective-C, são os métodos-init. -
Inicializadores com parâmetros — permitem definir valores iniciais ao criar o objeto.
-
Construtores com delegação — um inicializador chama outro para evitar duplicação de código.
-
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;
}