AppDelegate
它继承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框将要变化时执行
}
这里清楚解释了每个方法的执行事件和大概用法。大家可以在每个方法中打印下,然后运行程序看执行顺序,然后回到桌面。再进入程序看看执行顺序。