iOS | 对[UIApplication sharedApplication]理解

[ UIApplication sharedApplication]返回UIApplication的一个单例,单例是全局的,唯一的。

实现代码如下:

static UIApplication * application = nil;
+ (UIApplication*)shareApplication {
    if (application == nil) {
        application= [[UIApplication alloc]init];
    }
    return application;
}

在UIApplication中处理的系统事件时,只需转到_delegate这个类去处理,这个类对象就是应用程序委托对象。我们可以从应用程序的单例类对象中得到应用程序委托的对象。 UIApplication 接收到所有的系统事件和生命周期事件时,都会把事件传递给UIApplicationDelegate进行处理,对于用户输入事件,则传递给相应的目标对象去处理。比如我们在应用程序被来电等消息后,可以调用应用程序委托类的 applicationWillResignAct ive()方法,这个方法在用户锁住屏幕时,也会调用,与之相适应的是应用程序重新被用户打开时的委托方法。另外常用的就是内存不足的系统警告,此时会调用应用程序委托类的applicationDidReceiveMem oryWarning()方法,然后我们就可以试着释放一些内存了。

你可能感兴趣的:(iOS | 对[UIApplication sharedApplication]理解)