Junior — Middle
Aké metódy inicializácie objektov poznáš a používaš v triedach?
sobes.tech AI
Odpoveď od AI
V iOS (Swift/Objective-C) sa používajú rôzne metódy na inicializáciu objektov v triedach:
-
Inicializátory (initializers) — špeciálne metódy, ktoré nastavujú počiatočný stav objektu. V Swift je to
init(), v Objective-C sú to metódy-init. -
Inicializátory s parametrami — umožňujú nastaviť počiatočné hodnoty pri vytváraní objektu.
-
Delegované konštruktory — jeden inicializátor volá iný, aby sa predišlo duplikácii kódu.
-
Inicializácia cez predvolené vlastnosti — vlastnosti triedy môžu mať predvolené hodnoty, ktoré sa nastavujú pri vytváraní objektu.
Príklad v 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: "Мария")
V Objective-C sa inicializácia zvyčajne vykonáva prostredníctvom metódy -init alebo vlastných inicializátorov, napríklad:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}