Вложенные замыкания: будет ли deinit?
Задача
class TestClass {
var block1: (() -> Void)?
var block2: (() -> Void)?
func test() {
block1 = { [weak self] in
self?.block2 = {
print(self)
}
self?.block2?()
}
block1?()
}
deinit { print("deinit") }
}
var object: TestClass? = TestClass()
object?.test()
object = nil
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep