我在这里很困惑-我试图检测我的应用程序是否从LocalNotification启动。但是我所有的代码都很烂。

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
    var firstWay = launchOptions.objectForKey(UIApplicationLaunchOptionsLocalNotificationKey)
    var secondWay = launchOptions[UIApplicationLaunchOptionsLocalNotificationKey]
    return true
}

两者都失败并显示消息
"unexpectedly found nil while unwrapping an Optional value"

我确定我在这里做的很基本的错误。有指针吗?

最佳答案

您需要在参数中展开launchOptions词典,该词典通常为nil。尝试解开nil值将导致崩溃,因此在使用尾随的感叹号解开它之前,您需要检查它是否为nil。正确的代码如下:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    if let options = launchOptions {
       // Do your checking on options here
    }

    return true
}

关于swift - 如何在Swift中检查launchOptions?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24846672/

10-12 14:39