Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 无法强制转换类型为';UINavigationController';(0x10836e698)至';UITABBARC控制器';(0x10836e6e8)。?_Xcode_Swift_Uiviewcontroller_Uinavigationcontroller_Uitabbarcontroller - Fatal编程技术网

Xcode 无法强制转换类型为';UINavigationController';(0x10836e698)至';UITABBARC控制器';(0x10836e6e8)。?

Xcode 无法强制转换类型为';UINavigationController';(0x10836e698)至';UITABBARC控制器';(0x10836e6e8)。?,xcode,swift,uiviewcontroller,uinavigationcontroller,uitabbarcontroller,Xcode,Swift,Uiviewcontroller,Uinavigationcontroller,Uitabbarcontroller,这是UITabBarController的代码,我试图在其中打开splitviewcontroller import UIKit class SecondViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) ///

这是UITabBarController的代码,我试图在其中打开splitviewcontroller

import UIKit

class SecondViewController: UIViewController {

override func viewDidLoad() {

super.viewDidLoad()

}

override func viewDidAppear(animated: Bool) {

super.viewDidAppear(animated)
///在这一行之后,我得到了一个错误

var mainCont : UITabBarController = ((UIApplication.sharedApplication().delegate) as! AppDelegate).window?.rootViewController as! UITabBarController

var navCont2 : UINavigationController? = mainCont.viewControllers?[1] as? UINavigationController

var controller = UIStoryboard(name: "Storyboard2", bundle: nil).instantiateInitialViewController() as! UISplitViewController

controller.preferredDisplayMode = UISplitViewControllerDisplayMode.AllVisible

navCont2?.presentViewController(controller, animated: true, completion: nil)

}

 override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

}

}
您的第一行:

var mainCont : UITabBarController = ((UIApplication.sharedApplication().delegate) 
    as! AppDelegate).window?.rootViewController as! UITabBarController
正在将窗口的
rootViewController
作为
UITabBarController
获取。错误信息非常清楚:

Could not cast value of type 'UINavigationController' (0x10836e698) to 'UITabBarController' (0x10836e6e8).
在应用程序启动时,窗口的rootViewController设置为您在故事板上定义的初始视图控制器(大灰色箭头)。我猜您的初始视图控制器设置为
UINavigationController
,但在代码中,您试图将其强制转换为
UITabBarController