`
lizhuang
  • 浏览: 904335 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

appdelegate生命周期

 
阅读更多
#pragma mark 在应用程序加载完毕之后调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSLog(@"didFinishLaunchingWithOptions-加载完毕");
   
    // 初始化一个窗口
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
   
    // 传入xib文件名来初始化一个控制器
    self.viewController = [[[MJViewController alloc] initWithNibName:@"MJViewController" bundle:nil] autorelease];
   
    // 设置窗口的根控制器
    self.window.rootViewController = self.viewController;
    // 上面的代码内部执行了下面代码的操作
    // [self.window addSubview:self.viewController.view];
   
    // 窗口不会默认显示,需要调用方法来显示
    // keyWindow是主窗口,只有主窗口才能跟用户正常交互
    [self.window makeKeyAndVisible];
    // self.window.hidden = NO;
    return YES;
}

#pragma mark 程序失去焦点的时候调用(不能跟用户进行交互了)
- (void)applicationWillResignActive:(UIApplication *)application
{
    NSLog(@"applicationWillResignActive-失去焦点");
}

#pragma mark 当应用程序进入后台的时候调用(点击HOME键)
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    NSLog(@"applicationDidEnterBackground-进入后台");
}

#pragma mark 当应用程序进入前台的时候调用
- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSLog(@"applicationWillEnterForeground-进入前台");
}

#pragma mark 当应用程序获取焦点的时候调用
// 获取焦点之后才可以跟用户进行交互
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    NSLog(@"applicationDidBecomeActive-获取焦点");
}

#pragma mark 程序在某些情况下被终结时会调用这个方法
- (void)applicationWillTerminate:(UIApplication *)application
{
    NSLog(@"applicationWillTerminate-被关闭");
}




项目启动后:

第一个iOS程序[517:c07] didFinishLaunchingWithOptions-加载完毕
第一个iOS程序[517:c07] applicationDidBecomeActive-获取焦点


按下home键:

第一个iOS程序[517:c07] applicationWillResignActive-失去焦点
第一个iOS程序[517:c07] applicationDidEnterBackground-进入后台

再按程序:
第一个iOS程序[517:c07] applicationWillEnterForeground-进入前台
第一个iOS程序[517:c07] applicationDidBecomeActive-获取焦点
分享到:
评论

相关推荐

    swift-无代码入侵获取AppDelegate声明周期

    在Swift开发中,"无代码入侵获取AppDelegate声明周期"是一个技术话题,主要涉及如何在不修改原有AppDelegate.swift文件代码的情况下,监测和利用AppDelegate对象的生命周期事件。这在某些情况下非常有用,比如当需要...

    apple程序生命周期

    在Apple的iOS应用开发中,程序的生命周期是开发者必须要深入理解的关键概念。程序生命周期涉及到从应用程序启动、运行、暂停、后台处理、恢复直至关闭的全过程。对于iPhone开发来说,掌握这个生命周期有助于编写更加...

    iOS中的应用启动原理以及嵌套模型开发示例详解

    4. **AppDelegate 生命周期方法**:随着`UIApplicationMain`的执行,`AppDelegate`的`application:didFinishLaunchingWithOptions:`方法会被调用,这是应用启动后的第一个入口点,开发者在这里初始化UI、设置数据源...

    AppDelegate详解

    通过以上对`AppDelegate.h`和`AppDelegate.m`文件的详细介绍,我们可以了解到`AppDelegate`在iOS应用程序中的重要性以及如何正确地实现它的各个生命周期方法。这些方法能够帮助开发者更好地管理和控制应用的状态,...

    IPhone程序的生命周期分析

    代理类(`AppDelegate`)负责处理各种生命周期事件。 **3. AppDelegate的作用** - **AppDelegate类**: 是`UIApplication`的代理,用于处理应用程序级别的事件。 - **重要方法**: - `application:...

    音乐播放器的实现

    这需要理解Android的onSaveInstanceState和onRestoreInstanceState方法,或者iOS的AppDelegate生命周期。 9. **通知和后台播放**:在Android中,音乐播放器在后台运行时通常需要显示通知,以便用户可以在任何时候...

    delphi IOS lifecycle 生命周期 后台

    在iOS平台上,使用Delphi开发应用时,理解并掌握应用程序的生命周期管理至关重要。生命周期是指一个应用程序从启动到关闭的过程中所经历的各种状态变化。本篇文章将深入探讨Delphi iOS应用程序的生命周期,以及如何...

    SwiftUI - AppDelegate

    在SwiftUI中,`AppDelegate`扮演了一个关键角色,尤其是在与传统App生命周期交互时。 `AppDelegate`(应用程序委托)是iOS应用中的一个核心组件,它是应用的第一个启动对象,并在整个应用生命周期中起到桥梁和协调...

    iOS应用程序的生命周期.pdf

    - AppDelegate:遵循UIApplicationDelegate协议,处理应用生命周期相关的事件,如应用启动、进入后台、即将终止等。 - ViewController:管理视图的显示和生命周期,并响应用户事件。 - Document:管理应用的数据存储...

    (Swift)AppDelegate中启动UI

    在Swift编程语言中,AppDelegate是每个iOS应用的核心组件之一,它是应用程序代理,负责处理应用程序的生命周期事件。在本文中,我们将深入探讨如何在AppDelegate中启动用户界面(UI),以及这背后的原理和最佳实践。...

    老生常谈iOS应用程序生命周期

    开发应用程序都要了解其生命周期。 今天我们接触一下iOS应用程序的生命周期, iOS的入口在main.m文件: int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, ...

    (OC)AppDelegate中启动UI

    在iOS应用开发中,`AppDelegate` 是每个应用程序的核心组件之一,它是Objective-C(简称OC)中的一个关键类,用于处理应用程序的生命周期事件。标题“(OC)AppDelegate中启动UI”表明我们将探讨如何在`AppDelegate`中...

    PluggableApplicationDelegate, 使用基于分离的服务架构的最小 AppDelegate.zip

    PluggableApplicationDelegate, 使用基于分离的服务架构的最小 AppDelegate PluggableApplicationDelegate ... 在应用程序生命周期中调用的方法中将许多不同的代码组合在一起。 但所有这些问题都过去了。 使用 Plugg

    用php给app发通知及AppDelegate代码

    `AppDelegate`是应用的主入口点,负责处理应用生命周期的重要事件。 1. **注册通知**:在`didFinishLaunchingWithOptions`方法中,调用`UNUserNotificationCenter`的`requestAuthorization`方法,请求用户授权接收...

    iOS开的常见8中传值(初始化传值,代理传值,属性传值,代理传值,block传值,通知传值,NSuserDefault传值,AppDelegate传值)

    它提供了简单的键值对存储,可以跨应用生命周期保存数据。不过,它不是为大量或复杂数据设计的,更适合存储小量的基本类型数据。 7. AppDelegate传值: AppDelegate是应用的主入口点,可以用来在不同的...

    iOSAppLifeCycleTest:研究iOS应用程序生命周期

    Scene Delegate的生命周期方法与AppDelegate相似,但更专注于单个Scene(屏幕)的生命周期管理。 总之,"iOSAppLifeCycleTest"项目提供了一个实践和学习iOS应用生命周期管理的平台,对于Swift开发者来说,理解并...

    iosAppDelegate中的视图随设备旋转而改变

    在iOS开发中,`AppDelegate` 是每个应用程序的核心组件,它作为程序启动时的第一个对象,并在整个应用生命周期中扮演着重要角色。当涉及到用户界面的旋转,`AppDelegate` 可以通过处理设备方向变化来确保视图内容...

    swift代码-异常处理及 App 的生命周期:error协议

    在Swift编程语言中,异常处理和App的生命周期是两个关键概念。...通过遵循`Error`协议来定义和处理错误,以及在`AppDelegate`中妥善管理App生命周期的不同阶段,可以确保你的应用健壮、稳定且用户体验良好。

Global site tag (gtag.js) - Google Analytics