应用程序委托中的Swift代码加载情节提要导致崩溃

Mat*_*lly 1 ios xcode-storyboard appdelegate swift

我有一个正在编写的通用应用程序,最初是使用两个情节提要文件编写的。我在App Delegate didFinishLaunchingWithOptions例程中有代码来确定要加载和删除的情节提要。从那以后,我意识到这是一件很愚蠢的事情,因为我有重复的代码,所以我删除了一个情节提要,使另一个情节提要变得通用。我已经修复了VC,以指向正确的课程和所有内容。但是,我的应用程序现在拒绝启动。当我在Sim中运行它时,它给了我错误

如果要使用主故事板文件,则应用程序委托必须实现window属性。

这是我在App Delegate中的代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.

    var deviceIdiom = UIDevice.currentDevice().userInterfaceIdiom
    if deviceIdiom == UIUserInterfaceIdiom.Phone {
        strDevice = "iPhone"
    } else if deviceIdiom == UIUserInterfaceIdiom.Pad {
        strDevice = "iPad"
    } else {
        strDevice = "Unknown"
    }

    return true
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

(我已经看过但没有帮助的问题): 在Xcode中显示第一个情节提要场景的唯一性问题
如果应用程序委托要使用主情节提要文件,则应用程序委托必须实现window属性。
在App Delegate中管理两个情节提要
如何手动设置在应用程序委托Swift中显示哪个情节提要视图-以
编程方式加载情节提要

GoZ*_*ner 6

您的应用程序委托需要像这样开始:

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  var window: UIWindow?

  //...
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这是一个愚蠢的错误。非常感谢@GoZoner (2认同)