Sobes.tech
Junior — Middle

Welke methoden voor het initialiseren van objecten ken je en gebruik je in klassen?

sobes.tech AI

Antwoord van AI

In iOS (Swift/Objective-C) worden verschillende methoden gebruikt om objecten in klassen te initialiseren:

  1. Initializers (initializers) — speciale methoden die de beginsituatie van het object instellen. In Swift is dat init(), in Objective-C zijn dat de methoden -init.

  2. Initializers met parameters — stellen je in staat om beginwaarden in te stellen bij het maken van het object.

  3. Delegatie-constructors — één initializer roept een andere aan om code duplicatie te voorkomen.

  4. Initialisatie via standaardeigenschappen — klasse-eigenschappen kunnen standaardwaarden hebben die worden ingesteld bij het maken van het object.

Voorbeeld in 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: "Мария")

In Objective-C gebeurt de initialisatie meestal via de methode -init of aangepaste initializers, bijvoorbeeld:

- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }
    return self;
}