• 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
    }
    
  • 相关阅读:
    Java虚拟机:十七、互斥同步、锁优化及synchronized和volatile
    Java虚拟机:十六、Java内存模型
    Java虚拟机:十五、运行期优化
    Java虚拟机:十三、Java类加载机制
    Java虚拟机:十四、类加载器
    Java虚拟机:十二、虚拟机性能监控与故障处理工具
    字符集
    发布订阅、事务和脚本
    HyperLogLog和GEO
    Redis 的数据结构
  • 原文地址:https://www.cnblogs.com/Jaryer/p/14036641.html
Copyright © 2020-2023  润新知