强制viewDidLoad在iOS上触发

我有两个窗口的应用程序,而我出现第一个窗口,我希望在第二个窗口中的视图加载和准备后来在后台的内容。

我试图使用方法loadView但苹果说,你不应该直接调用这个方法。

到目前为止,我select使用视图的方法userInteractionEnabled ,其实际隐式调用viewDidLoad方法。

有没有一种优雅的方式来强制ViewControllers viewDidLoad方法之前,它应该自然(当窗口是关键和呈现)?

你可以调用[viewController view];

UIViewController的文档解释了如何加载视图属性,并加载视图后调用viewDidLoad

在iOS 9中,苹果终于解决了这个问题:

 @available(iOS 9.0, *) public func loadViewIfNeeded() // Loads the view controller's view if it has not already been set. 

Swift 2.0 ,与@Carl Veazey解决scheme的结果相同:

 let viewController = MyCustomViewController() _ = viewController.view 

您可以为该控制器创build一个全局实例(可以在AppDelegate )并调用您想要执行该操作的方法。 然后推送到该控制器不要创build一个新的实例只要使用您创build的实例供全局使用。