Sobes.tech
Junior — Senior
116

Что будет выведено при использовании unowned в замыкании?

被问到的公司:

СБЕРСБЕР
任务条件

В данном примере на Swift показано, как замыкание захватывает объект UIView с указанием unowned. Сначала создаётся объект UIView, ему присваивается тег 1, после чего замыкание выводит значение тега. Затем переменной присваивается новый объект UIView с тегом 2, и замыкание вызывается повторно. Нужно понять, какое значение будет напечатано каждый раз.

var container = UIView()
container.tag = 1

let displayTag = { [unowned container] in
    print(container.tag)
}

displayTag()

container = UIView()
container.tag = 2

displayTag()