Sobes.tech
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:

  1. 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.

  2. Inicializátory s parametrami — umožňujú nastaviť počiatočné hodnoty pri vytváraní objektu.

  3. Delegované konštruktory — jeden inicializátor volá iný, aby sa predišlo duplikácii kódu.

  4. 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;
}