UIApplication类及其委托方法

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)。
阅读更多
个人分类: UIApplication
上一篇UIApplication、AppDelegate、委托
想对作者说点什么? 我来说一句

C#委托方法的学习

2017年11月28日 36KB 下载

面向对象编程方法

2011年12月05日 699KB 下载

UIApplication扩展

2013年06月26日 58KB 下载

Predicate(谓词委托)示例

2007年12月12日 2KB 下载

协议 Protocaldemo

2011年12月13日 42KB 下载

unity3dC#实现委托

2017年10月20日 3KB 下载

C#.NET基础知识

2009年06月11日 1.24MB 下载

c#语言程序设计基础 实验源代码

2010年04月01日 3.32MB 下载

委托的使用方法

2014年10月28日 58KB 下载

没有更多推荐了,返回首页

关闭
关闭