Назад к задачам
Вкусвилл АвтомаконПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
4
Определите порядок вызова методов жизненного цикла UIViewController
Компании, где спрашивали:
Условие задачи
В примере ниже показан кастомный контроллер, наследующий UIViewController, в котором переопределены основные методы жизненного цикла, а также инициализаторы и деструктор. Нужно понять, в какой последовательности будут выводиться сообщения в консоль при создании экземпляра контроллера, его отображении на экране и последующем удалении.
import UIKit
import PlaygroundSupport
class SampleVC: UIViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
print("viewWillAppear")
}
override func viewDidLoad() {
super.viewDidLoad()
print("viewDidLoad")
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
print("init(nibName:bundle:)")
}
override func loadView() {
super.loadView()
print("loadView")
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
print("viewDidAppear")
}
required init?(coder: NSCoder) {
super.init(coder: coder)
print("init(coder:)")
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
print("viewWillDisappear")
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
print("viewDidDisappear")
}
deinit {
print("deinit")
}
}