IOS生命周期详解

作者: yi蜀黍 | 来源:发表于2017-06-27 09:52 被阅读525次

懂ios生命周期,让我们更好的投入到开发当中,让我们开发更加高效。

新建ios项目,我先开始从应用程序生命周期说起。打开AppDelegate.swift文件。这是我们构建ios项目的委托。

//应用程序生命周期

//此方法在应用程序初始化完成后准备调用与准备与用户交互时调用
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {}
//程序将要挂起时候(锁屏将要接电话)
func applicationWillResignActive(_ application: UIApplication) {}
//应用程序退到后台时候调用(单击home)
func applicationDidEnterBackground(_ application: UIApplication) {}
//应用程序将要进入前台时候(被激活)
func applicationWillEnterForeground(_ application: UIApplication) {}
//程序恢复的时候
func applicationDidBecomeActive(_ application: UIApplication) {}
//程序将要关闭的时候调用,(内存不足,系统关闭或者长按app icon图标强行关闭)
func applicationWillTerminate(_ application: UIApplication) {}

应用程序生命周期我们都已经了解了。那我们继续看viewController生命周期

//viewController生命周期

//视图加载之后被调用,视图控制器生命周期只调用一次
func viewDidLoad() {}
//视图将要出现的时候调用
func viewWillAppear(){}
//视图已经出现的时候调用
func viewDidAppear(){}
//当收到视图将去除、被覆盖或隐藏于视窗时的通知会呼叫的方法
func viewWillDisappear
//当收到视图已去除、被覆盖或隐藏于视窗时的通知会呼叫的方法
func viewDidDisappear(){}

最后感谢在@whbalzac指点下完成。。。。

相关文章

网友评论

  • whbalzac:applicationWillTerminate // 程序即将退出,并不是崩溃
    yi蜀黍:@whbalzac :pray:
    whbalzac:@yi蜀黍
    如果您的应用程序当前已被暂停,系统会将您的应用程序杀死,并将其从内存中删除,恕不另行通知。 // Google翻译,当然最好的验证就是跑个demo,你试一下crash的时候会不会调用。刚刚我试了下,是不会的。这个方法,在没多线程的iOS 4之前,代替applicationDidEnterBackground方法被调用。4之后,调用applicationDidEnterBackground,进入后台,期间内存不足或者10分钟后,程序被杀,会调用applicationWillTerminate。
    yi蜀黍:@whbalzac iOS Application Programming Guide中说的:
    If your application is currently suspended, the system kills your application and removes it from memory without any notice.
  • whbalzac:viewDidDisappear // 是 “视图已经消失”,不是即将消失
    viewWillDisappear // 才是即将消失
    yi蜀黍:@whbalzac 多谢指点
  • footSInRoad:iOS 是这样的 😋

本文标题:IOS生命周期详解

本文链接:https://www.haomeiwen.com/subject/ohiscxtx.html