[ 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()方法,然后我们就可以试着释放一些内存了。