Sobes.tech
Назад к вопросам
Junior — Middle
76

Какие методы инициализации объектов ты знаком и используешь в классах?

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech 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;
}