Назад к задачам
Т-БанкПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
10
Что будет выведено в примере №7
Компании, где спрашивали:
Условие задачи
В данном примере создаются два класса, каждый из которых хранит слабую (weak) ссылку на объект другого класса. После создания экземпляров и установки взаимных делегатов выводятся сами объекты и их делегаты, чтобы понять, какие значения будут напечатаны.
import Foundation
class A: NSObject {
weak var delegate: B?
}
class B: NSObject {
weak var delegate: A?
}
var a: A?
var b: B?
func configure() {
a = A()
b = B()
a?.delegate = b
b?.delegate = a
}
configure()
print(a) // ?
print(b) // ?
print(a?.delegate) // ?
print(b?.delegate) // ?