Sobes.tech
Junior — Middle

Quali metodi di inizializzazione degli oggetti conosci e usi nelle classi?

sobes.tech AI

Risposta dell'AI

In iOS (Swift/Objective-C), vengono utilizzati diversi metodi per inizializzare gli oggetti nelle classi:

  1. Initializzatori (initializers) — metodi speciali che impostano lo stato iniziale dell'oggetto. In Swift è init(), in Objective-C sono i metodi -init.

  2. Initializzatori con parametri — consentono di impostare valori iniziali durante la creazione dell'oggetto.

  3. Costruttori con delega — un inizializzatore chiama un altro per evitare duplicazioni di codice.

  4. Inizializzazione tramite proprietà di default — le proprietà della classe possono avere valori di default che vengono impostati alla creazione dell'oggetto.

Esempio 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, l'inizializzazione avviene di solito tramite il metodo -init o inizializzatori personalizzati, ad esempio:

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