Junior — Middle
Ce metode de inițializare a obiectelor cunoști și folosești în clase?
sobes.tech AI
Răspuns de la AI
În iOS (Swift/Objective-C), se utilizează diferite metode pentru inițializarea obiectelor în clase:
-
Inițializatori (initializers) — metode speciale care stabilesc starea inițială a obiectului. În Swift, acestea sunt
init(), iar în Objective-C, metodele-init. -
Inițializatori cu parametri — permit setarea valorilor inițiale în momentul creării obiectului.
-
Constructori cu delegare — un inițializator apelează altul pentru a evita duplicarea codului.
-
Inițializare prin proprietăți implicite — proprietățile clasei pot avea valori implicite, care sunt stabilite la crearea obiectului.
Exemplu în 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: "Мария")
În Objective-C, inițializarea se face de obicei prin metoda -init sau inițializatori personalizați, de exemplu:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}