Sobes.tech
Junior — Middle

Ce metode de inițializare a obiectelor cunoști și folosești în clase?

sobes.tech AI

Răspuns de la AI

În iOS (Swift/Objective-C), se utilizează diferite metode pentru inițializarea obiectelor în clase:

  1. Inițializatori (initializers) — metode speciale care stabilesc starea inițială a obiectului. În Swift, acestea sunt init(), iar în Objective-C, metodele -init.

  2. Inițializatori cu parametri — permit setarea valorilor inițiale în momentul creării obiectului.

  3. Constructori cu delegare — un inițializator apelează altul pentru a evita duplicarea codului.

  4. Inițializare prin proprietăți implicite — proprietățile clasei pot avea valori implicite, care sunt stabilite la crearea obiectului.

Exemplu în 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: "Мария")

În Objective-C, inițializarea se face de obicei prin metoda -init sau inițializatori personalizați, de exemplu:

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