Такой вопрос, почему viewDidLaod в UITabBarController происходит раньше чем удается установить свойства класса?
Нашел ответ тут
(https://stackoverflow.com/questions/31489957/viewdidload-is-called-before-whole-init-method-is-executed)
class VC: UIViewController {
var any: Any? {
didSet { print("\(String(describing: self)) DID SET") }
}
override func viewDidLoad() {
super.viewDidLoad()
print("\(String(describing: self)) DID LOAD")
}
}
class NC: UINavigationController {
var any: Any? {
didSet { print("\(String(describing: self)) DID SET") }
}
override func viewDidLoad() {
super.viewDidLoad()
print("\(String(describing: self)) DID LOAD")
}
}
class TC: UITabBarController {
var any: Any? {
didSet { print("\(String(describing: self)) DID SET") }
}
override func viewDidLoad() {
super.viewDidLoad()
print("\(String(describing: self)) DID LOAD")
}
}
let vc = VC()
vc.any = 3
let nc = NC()
nc.any = 3
let tc = TC()
tc.any = 3
nc.pushViewController(vc, animated: false)
tc.viewControllers = [nc]