iOS进阶指南

AppDelegate

2016-07-29  本文已影响0人  changeL

它继承UIResponder,并且实现了UIApplicationDelegate协议。UIApplicationDelegate协议中定义了很多app不同状态下触发的事件。

AppDelegate相当于程序的入口,在这里可以初始化程序。可以给页面上添加window,controller,view等。

下面看下AppDelegate中重要的几个方法和这些方法的含义

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions:[NSObject: AnyObject]?) -> Bool {

//程序载入后执行

print("didFinishLaunchingWithOptions")

return true

}

func applicationWillResignActive(application: UIApplication) {

//当应用程序从活动状态到非活动状态,这个发生在突然的打断,比如来电话。或者短信,或者当用户推出应用程序。过渡到后台状态

//用这个方法暂停正在进行的任务,禁用计时器。游戏用这个方法来暂停游戏

print("applicationWillResignActive被执行了")

}

func applicationDidEnterBackground(application: UIApplication) {

//当程序被推送到后台的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可

//用这个方法来释放共享的资源,保存用户数据,停用计时器。

print("applicationDidEnterBackground被执行了")

}

func applicationWillEnterForeground(application: UIApplication) {

//当程序从后台将要重新回到前台时候调用,你取消进入后台的时候调用的程序

print("applicationWillEnterForeground被执行了")

}

func applicationDidBecomeActive(application: UIApplication) {

//应用程序进入活动状态。这时候需要重新启用应用程序

print("applicationDidBecomeActive被执行了")

}

func applicationWillTerminate(application: UIApplication) {

//应用程序将要被终结的时候执行可以适当保存数据之类的

print("applicationWillTerminate被执行了")

}

func applicationDidReceiveMemoryWarning(application: UIApplication) {

//如果为应用程序分配了太多内存操作系统会终止应用程序的运行,在终止前会执行这个方法,通常可以在这里进行内存清理工作防止程序被终止

print("applicationDidReceiveMemoryWarning被执行了")

}

func applicationSignificantTimeChange(application: UIApplication) {

//当系统时间发生改变时执行

}

func application(application: UIApplication, willChangeStatusBarFrame newStatusBarFrame: CGRect) {

//当StatusBar框将要变化时执行

}

这里清楚解释了每个方法的执行事件和大概用法。大家可以在每个方法中打印下,然后运行程序看执行顺序,然后回到桌面。再进入程序看看执行顺序。

上一篇下一篇

猜你喜欢

热点阅读