Please explain in DETAIL why do we have to write "obj?.mainObj = self" line, in order for the pushViewController method to work?so if i remove the line "obj?.mainObj = self" pushViewController doesn't work,but why?
class ViewController: UIViewController {
var obj:Bo?
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.white
obj = Bo()
// obj?.mainObj = self
obj?.setupViews()
}
func push(){
print("hello")
let controller = AppDetailController()
navigationController?.pushViewController(controller, animated: true)
}
}
class Bo:UIViewController{
var mainObj:ViewController?
override func viewDidLoad() {
super.viewDidLoad()
setupViews()
}
func setupViews(){
mainObj = ViewController()
mainObj?.push()
}
}