Sobes.tech
Junior — Middle

Кои методи за инициализация на обекти познавате и използвате в класовете?

sobes.tech AI

Отговор от AI

В iOS (Swift/Objective-C) се използват различни методи за инициализация на обекти в класовете:

  1. Инициализатори (initializers) — специални методи, които задават началното състояние на обекта. В Swift това е init(), а в Objective-C — методите -init.

  2. Инициализатори с параметри — позволяват задаване на начални стойности при създаването на обекта.

  3. Делегиращи конструктори — един инициализатор извиква друг, за да избегне дублиране на кода.

  4. Инициализация чрез свойства по подразбиране — свойствата на класа могат да имат стойности по подразбиране, които се задават при създаването на обекта.

Пример на 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: "Мария")

В Objective-C инициализацията обикновено става чрез метода -init или персонализирани инициализатори, например:

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