• 【转】ios开发之AppDelegate


    创建应用程序之后之后,默认有AppDelegate.h文件与AppDelegate.m文件。  
     
    AppDelegate为何物? 
     
    AppDelegate为整个应用的一个代理,提供程序启动、退出等类似监控的接口。  
     
     
     
     
    AppDelegate.m  
     
    接口所在的文件,常见接口有:  
     
    application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions//应用程序启动后,要执行的委托调用  
     
    applicationWillResignActive:(UIApplication *)application//应用程序将要由活动状态切换到非活动状态时执行的委托调用,如按下home 按钮,返回主屏幕,或全屏之间切换应用程序等。  
     
    applicationDidEnterBackground:(UIApplication *)application//在应用程序已进入后台程序时,要执行的委托调用。所以要设置后台继续运行,则在这个函数里面设置即可。  
     
    applicationWillEnterForeground:(UIApplication *)application//在应用程序将要进入前台时(被激活),要执行的委托调用,与applicationWillResignActive 方法相对应。  
     
    applicationDidBecomeActive:(UIApplication *)application//在应用程序已被激活后,要执行的委托调用,刚好与  applicationDidEnterBackground 方法相对应。  
     
    applicationWillTerminate:(UIApplication *)application//在应用程序要完全退出的时候,要执行的委托调用。  
     
     
     
    全局变量  
     
    AppDelegate可以在整个应用程序中调用,在其他页面中可以使用代码段获取AppDelegate的全局变量:AppDelegate *appDelegate=[[UIApplication sharedApplication] delegate];  
     
    因此可以在AppDelegate.h中定义需要全局使用的变量。  
     
     
     
    系统启动代理(第一个页面的加载)  
     
    application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
     
    一般在该代理接口中需要进行应用系统window(程序显示窗口)配置,完成页面弹出效果。(AppDelegate默认拥有UIWindow *window实例变量)  
    可以使用以下代码段完成:  
     
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];//显示窗口配置  
        LoginViewController *login = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];//初始化应用系统需要显示的第一个页面(一般为ViewController)  
        self.window.rootViewController = login;//配置window窗口的rootViewController实例  
        //判定系统版本,选择页面加载方式  
        if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)  
        {  
            [self.window addSubview:login.view];  
        }  
        else  
        {  
            [self.window setRootViewController:login];  
        }  
        [self.window makeKeyAndVisible];  
        return YES;  
     
     
    结语:AppDelegate的使用还有很多,随着应用程序的开发,我会继续补充完善。  
     
    补充:应用创建之后可以在Supporting Files分组中看到main.m类文件,是整个应用最开始的入口。 
    执行的代码段为:return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 最后一个参数即为应用中的AppDelegate类的实例,执行这段程序即进入AppDelegate类中的application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  方法接口。 
     

    from :http://www.cocoachina.com/bbs/read.php?tid=209348

  • 相关阅读:
    Java生成二维码连接
    Spring boot 整合 Elasticsearch
    Windows下安装ElasticSearch
    springcloud zookeeper+gateway
    idea中Springcloud同时运行多个模块、微服务
    【转】为什么我的DIV块前总有空隙?
    【转载】通过JSFL让Flash Professional CS4或CS5拥有批量FLA导出SVG的功能
    jQuery Mobile中的页面加载与跳转机制
    关于Conversion to Dalvik format failed with error 1错误
    带权重的随机输出数组中的元素
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/4961467.html
Copyright © 2020-2023  润新知