即使我有睡眠线程,可可应用的退出代码也不会执行

时间:2019-03-24 13:47:04

标签: swift cocoa

我正在尝试在应用退出时在我的应用上保存对等 但是代码无法运行 我尝试了差异代码和相同的结果

func applicationShouldTerminate(_ sender: NSApplication) -> NSApplication.TerminateReply {
    //   print(arrayOfUsernamesList)
    UserDefaults.standard.setValue("prefs1", forKey: "preferences")
    return .terminateNow
}

1 个答案:

答案 0 :(得分:4)

那是错误的委托方法,请使用applicationWillTerminate

并且从不使用setValue(_:forKey将内容保存到UserDefaults。始终使用通用set(_:forKey

func applicationWillTerminate(_ aNotification: Notification)
{
    UserDefaults.standard.set("prefs1", forKey: "preferences")
}