我的iOS应用中有UISplitViewController
,但我的初始视图控制器是正常的UIViewController
。
我想在UISplitViewController
点击按钮时打开UIViewController
:
@IBAction func openSplitViewController(sender: AnyObject) {
let splitViewController = UISplitViewController()
let leftNavController = splitViewController.viewControllers.first as! UINavigationController
let masterViewController = leftNavController.topViewController as! MenuTableViewController
let rightNavController = splitViewController.viewControllers.last as! UINavigationController
let detailViewController = rightNavController.topViewController as! DetailViewController
splitViewController.viewControllers = [masterViewController,detailViewController];
self.presentViewController(splitViewController, animated: true, completion: nil)
}
但是当我点击按钮时,我得到:
fatal error: unexpectedly found nil while unwrapping an Optional value
我应该如何打开UISplitViewController
中的UIViewController
?
答案 0 :(得分:0)
您的错误与UISplitViewController
无关,您得到的错误是因为您的一个或多个参数为nil
。
因此,请确保您创建的所有viewController
都是真实的而不是零。
查看此行的实例:
let leftNavController = splitViewController.viewControllers.first as! UINavigationController
此时您的splitViewController
未分配viewController
,因此leftNavController
将为零。在将navController
添加到viewController
之前,您需要先创建splitViewController
和@EnableAutoConfiguration(exclude = RepositoryRestMvcAutoConfiguration.class)
。