• iOS学习之详解AppDelegate


    AppDelegate,

    类似于监听接口。 用个很简单的例子说:ios系统会控制每个程序的开始和结束。但是ios又不知道每个程序的开始需要运行成么代码,结束需要运行什么代码。这个时候,ios就制定了一个规则:如果你是我的代理程序,那么我在开始的时候就会运行你里面的– applicationDidFinishLaunching方法,我会在结束的时候运行你的– applicationWillTerminate方法,这是UIApplicationDeligate定义的接口。 

     

    //状态:应用程序开始加载

    //经常用来存放当应用程序加载时想要显示的内容.

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

        self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

        // Override point for customization after application launch.
        self.window.backgroundColor = [UIColor whiteColor];
        [self.window makeKeyAndVisible];

        NSLog(@"%s",__FUNCTION__);

        return YES;

    }


     

    //当应用程序将要进入非活动状态执行,在此期间,应用程序不接受消息或事件,比如来电  
    - (void)applicationWillResignActive:(UIApplication *)application  
    {  
        NSLog(@"应用程序将要进入非活动状态,即将进入后台");  
    }

    //应用程序已经进入后台运行
    //使用该方法释放共享资源,保存用户数据,timer无效,存储当前应用程序状态为下次恢复,如果你的应用程序支持后台,这个方法将会替代applicationWillTerminate:当用户退出;
    
    - (void)applicationDidEnterBackground:(UIApplication *)application  
    {  
        NSLog(@"如果应用程序支持后台运行,则应用程序已经进入后台运行");  
    }

    //应用程序将要进入活动状态执行

     //该方法经常用来重新唤醒进入后台时的任务;

    - (void)applicationWillEnterForeground:(UIApplication *)application  
    {  
        NSLog(@"应用程序将要进入活动状态,即将进入前台运行");  
    }

    //应用程序已经进入活动状态 

     //重启当应用程序不活跃状态时暂停的任务,或者开启还没有运行的任务,如果应用程序之前在后台,也可以刷新一下用户界面;

    - (void)applicationDidBecomeActive:(UIApplication *)application  
    {  
        NSLog(@"应用程序已进入前台,处于活动状态");  
    }

    //应用程序将要退出,通常用于保存数据和一些退出前的清理工作
    - (void)applicationWillTerminate:(UIApplication *)application  
    {  
        NSLog(@"应用程序将要退出");  
    }

    //当设备为应用程序分配了太多的内存,操作系统会终止应用程序的运行,在终止前会执行这个方法  
    //通常可以在这里进行内存清理工作,防止程序被终止  
    -(void)applicationDidReceiveMemoryWarning:(UIApplication *)application  
    {  
        NSLog(@"系统内存不足,需要进行清理工作");  
    }

    //当系统时间发生改变时执行  
    -(void)applicationSignificantTimeChange:(UIApplication *)application  
    {  
        NSLog(@"当系统时间发生改变时执行");  
    }

    //当程序载入后执行  
    -(void)applicationDidFinishLaunching:(UIApplication *)application  
    {  
        NSLog(@"当程序载入后执行");  
    }  

    关于项目里如何访问AppDelegate? ------ 有待学习;

  • 相关阅读:
    JavaScript event对象
    JavaScript Date对象
    JavasSript函数
    break语句补充:判断当前系统时间与2021年元旦相聚的天数
    JavaScript控制流程
    初识JavaSript-JavaScript主要特点,运用在HTML中的三种用法,基本语法
    一个简单的Java程序
    什么是Java语言规范、API、JDK和IDE
    Vue渐变淡入淡出的轮播图
    js获取窗口滚动条高度、窗口可视范围高度、文档实际内容高度、滚动条离浏览器底部的高度
  • 原文地址:https://www.cnblogs.com/ErosLii/p/4471169.html
Copyright © 2020-2023  润新知