AppDelegate 生命周期(二)

applicationWillFinishLaunching

在应用程序对象初始化之前,由默认的通知中心发送一个名为willFinishLaunchingNotification的通知。

调用这个通知的对象方法返回NSApplication对象本身。

func applicationWillFinishLaunching(_ notification: Notification) {
    <#code#>
}

applicationDidFinishLaunching

在应用程序启动和初始化之后,在收到第一个事件之前,由默认通知中心发送。可以实现此方法来执行进一步的初始化。此方法在启动应用程序的主运行循环之后,但在处理任何事件之前调用。

如果应用程序是由用户打开文件启动的,则在此方法之前调用委托的application(:openFile:)方法。如果你想在任何文件被打开之前执行初始化,实现你的委托中的applicationWillFinishLaunching(:)方法,它在application(_:openFile:)之前被调用。

func applicationDidFinishLaunching(_ aNotification: Notification) {
        // Insert code here to initialize your application
    }

applicationWillBecomeActive

当程序将要进入活动状态时,调用此方法

func applicationWillBecomeActive  (_ aNotification: Notification) {

}

applicationDidBecomeActive

应用程序的状态已经活跃状态

func applicationDidBecomeActive  (_ aNotification: Notification) {

}

applicationWillResignActive

应用即将退出活跃状态,当程序将要进入非活动状态时,调用此方法,在此期间,程序不接受消息或事件

func applicationWillResignActive  (_ aNotification: Notification) {

}

applicationDidResignActive

应用已经退出活跃状态,应该被挂起后不会在后台运行,在此期间,程序不接受消息或事件

func applicationDidResignActive  (_ aNotification: Notification) {

}

applicationWillHide

点击Hide按钮后,应用程序即将隐藏到后台

func applicationWillHide (_ aNotification: Notification) {

}

applicationDidHide

隐藏到后台完成

func applicationDidHide (_ aNotification: Notification) {

}

applicationWillUnhide

点击show按钮后,应该程序即将从隐藏状态展示

func applicationWillUnhide (_ aNotification: Notification) {

}

applicationDidUnhide

应用从隐藏状态变成展示完成

func applicationDidUnhide (_ aNotification: Notification) {

}

applicationDidChangeOcclusionState

改变窗口状态完成时调用:

  • 初始化完成
  • 最小化
  • 最大化
  • 隐藏应用
  • 展示应用
func applicationDidChangeOcclusionState(_ notification: Notification) {
        <#code#>
    }

applicationWillUpdate

应用的状态发生更新时调用

func applicationWillUpdate(_ notification: Notification) {
        <#code#>
    }

applicationDidUpdate

应用的状态更新完成调用

func applicationDidUpdate(_ notification: Notification) {
        <#code#>
    }

applicationShouldTerminate

发送以通知委托应用程序即将终止

该方法在选择应用程序的Quit菜单项之后调用,或者在调用terminate(_:)方法之后调用。通常,你应该返回NSApplication.TerminateReply。现在允许终止完成,但您可以取消终止过程或根据需要延迟它。例如,您可以延迟终止以完成对一些关键数据的处理,但在完成后立即通过调用reply(toApplicationShouldTerminate:)方法终止应用程序。

func applicationShouldTerminate (_ sender: NSApplication) -> NSApplication.TerminateReply {
      //code
      return NSApplication.TerminateReply.*
}

applicationWillTerminate

在应用程序终止之前调用,由默认的通知中心发送,您的委托可以使用此方法在应用程序终止之前执行任何最终清理。

一份名为“将终止认证”的通知。调用这个通知的对象方法返回NSApplication对象本身。

func applicationWillTerminate(_ aNotification: Notification) {
    // Insert code here to tear down your application
}
posted @ 2020-11-25 15:57  JunCode  阅读(485)  评论(0编辑  收藏  举报