这是一个根viewController。是否可以从appDelegate类访问此变量?
我的意思是在AppDelegate内部: self.window.rootViewController.somethingToDo()
问题是我使用@IBOutlet
附加了该对象,似乎此变量将被初始化为viewDidLoad()
状态。这是一个太迟的状态。
还有其他访问方法吗?
答案 0 :(得分:0)
是的,您可以按照说明从appDelegate访问rootViewController。
如果要早于viewDidLoad()访问appDelegate,则始终可以覆盖UIViewController的标准init()方法之一,并像建议的以下问题一样访问appDelegate:
How do I get a reference to the app delegate in Swift?
例如,如果要从情节提要中初始化UIViewController,则可以在自定义UIViewController类中重写init?(编码器aDecoder:NSCoder):
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
// get the appDelegate here and do your magic
}
希望这会有所帮助。