DevPrep

Все темы › Что выведет? Головоломки с собеседований

willSet / didSet в init и defer: что напечатает?

Middle PRO

Задача

final class Counter {
    var value: Int = 0 {
        willSet { print("willSet", newValue) }
        didSet { print("didSet", oldValue, "->", value) }
    }

    init() {
        defer { value = 1 }
        value = 2
    }
}

let c = Counter()
c.value = 3

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store