gpt4 book ai didi

ios - 在 Swift 中不是初始的主从 View

转载 作者:搜寻专家 更新时间:2023-11-01 05:40:35 26 4
gpt4 key购买 nike

我是 Swift 的新手。

我想构建一个主从 View ,它不是应用程序的初始 View 。当我在主从 View 之前设置其他 View 时,Xcode 使用主从应用程序生成的 AppDelegate.swift 就崩溃了。

这是 AppDelegate.swift 的代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
let splitViewController = self.window!.rootViewController as! UISplitViewController
let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController
navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem()
splitViewController.delegate = self

let masterNavigationController = splitViewController.viewControllers[0] as! UINavigationController
let controller = masterNavigationController.topViewController as! MasterViewController
controller.managedObjectContext = self.managedObjectContext
return true
}

我得到了以下错误:

Could not cast value of type 'UIViewController' (0x11079e418) to 'UISplitViewController' (0x1107a8eb8).
(lldb)

还有我的 Main.storyboard:

Main.storyboard

感谢您的帮助!

最佳答案

你的初始 View Controller 是一个 UIViewController 但在 application(application:, didFinishLaunchingWithOptions:) 的开头你仍然表现得好像屏幕上的第一个 View 是一个 UISplitViewController(参见 let splitViewController = self.window!.rootViewController as!UISplitViewController
)。

为了让不同的 View 成为初始 View Controller ,您需要适本地更新该代码以首先处理不同的 View Controller 。

关于ios - 在 Swift 中不是初始的主从 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30997600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com