Junior — Middle
Koje metode inicijalizacije objekata poznaješ i koristiš u klasama?
sobes.tech АИ
Одговор од АИ
U iOS (Swift/Objective-C) koriste se različite metode za inicijalizaciju objekata u klasama:
-
Inicijalizatori (initializers) — posebne metode koje postavljaju početno stanje objekta. U Swift-u je to
init(), a u Objective-C-u metode-init. -
Inicijalizatori sa parametrima — omogućavaju postavljanje početnih vrednosti prilikom kreiranja objekta.
-
Delegirani konstruktori — jedan inicijalizator poziva drugi da bi se izbeglo dupliranje koda.
-
Inicijalizacija putem podrazumevanih svojstava — svojstva klase mogu imati podrazumevane vrednosti koje se postavljaju prilikom kreiranja objekta.
Primer u Swift-u:
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: "Мария")
U Objective-C, inicijalizacija se obično vrši putem metode -init ili prilagođenih inicijalizatora, na primer:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}