zoukankan      html  css  js  c++  java
  • UIApplication类及其委托方法 application:didFinishLaunchingWithOptions:

      UIApplication继承自UIResponder的主要作用是提供了iOS程序运行期间的控制和协作工作,每个iOS程序运行期间都会有一个UIApplication实例,一般由main函数的UIApplicationMain函数完成,而在代码中可以调用[UIApplication sharedApplication]方法来得到这个实例(有且仅有一个),比如可以利用它判断程序状态:

        if([UIApplication sharedApplication].applicationState ==UIApplicationStateInactive){

                NSLog(@"程序在运行状态");

           }

    新建一个任意类型的iOS应用工程,在AppDelegate.h中会看到

        AppDelegate :UIResponder <UIApplicationDelegate>

    即本类实现(采纳)了一个名叫UIApplicationDelegate的接口,且表明AppDelegate这个类就是这个工程中UIApplication实例的代理类。

     看看main函数:

    int main(int argc, char *argv[])

    {

        @autoreleasepool {

            return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

        }

    }

      这里传入了代理类到UIApplicationMain函数中,UIApplicationMain函数在生成唯一一个UIApplication的时候就可以把代理类的实例指针告诉这个单例对象了。

      在UIApplicationDelegate中有很多方法,最重要无非就是

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

    iOS程序启动时总会调用此方法,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。例如:若用户直接启动,lauchOptions内无数据; 若由其他应用程序通过openURL:启动,则lauchOptions==UIApplicationLaunchOptionsURLKey对应的对象为启动URL(NSURL),lauchOptions==UIApplicationLaunchOptionsSourceApplicationKey对应启动的源应用程序的bundle ID (NSString)。 

  • 相关阅读:
    跟着我学习-python-01-流程控制语句
    跟着我学习-python-01-用户交互
    跟着我学习-python-02-while循环
    基于Centos7.6上Ambari2.7.4+HDP3.1.4离线安装
    TDH(Transwarp Data Hub)社区版安装教程
    跟我学习日常写的shell脚本-设置系统selinux
    [Linux]常用命令“ll”失效或命令未找到
    NPOI
    Linq&lamda相关
    接口相关
  • 原文地址:https://www.cnblogs.com/kingOfPointer/p/2664233.html
Copyright © 2011-2022 走看看