Sobes.tech
Junior — Senior
108

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

Companies where asked:

СБЕРСБЕР
Task condition

В данном примере на 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()