首页 > 移动平台 > 详细

UIApplication单例

时间:2016-03-13 06:07:31      阅读:219      评论:0      收藏:0      [点我收藏+]

 
 
什么是UIApplication?
UIApplication对象是应用程序的象征.
每一个应用都有自己的UIApplication对象,这个对象是系统自动帮我们创建的, 它是一个单例对象.
一个iOS程序启动后创建的第一个对象就是UIApplication对象
我们只能通过[UIApplication sharedApplication]获得这个单例对象,不能够手动去创建它.
 
 
UIApplication作用?
利用UIApplication对象,能进行一些应用级别的操作.
可以设置应用程序图标右上角的红色提醒数字
设置联网指示器的可见性
可以设置应用程序的状态栏
进行应用之间的跳转.
 
模仿UIApplication单例.
要求:程序一启动就创建创建对象.
创建的对象只能通过share的方式获取对象.
不能够进行alloc 操作,当执行alloc时, 程序发生崩溃
 
1.程序一启动的时候就创建对象.
当类被加载到内存的时候就会调用load的方法,它会比main优先调用
 
static Persion *_instance;
+(void)load{
     想要保存创建的对象, 要用成员属性,但是现在是类方法, 没有办法访问成员属性.
     所以搞了一个static的静态变量进行保存
     创建对象
     _instance = [[self alloc] init];
}
 
2.保证调用alloc时会产生异常.
重写系统的是alloc方法
+(instancetype)alloc{
     当调用alloc方法时,先查看一下_instance有没有值,如果已经有值的话,直接抛出异常.
     if(_instance){
          NSException *exception = [NSException exceptionWithName:
          @"NSInternalInconsistencyException"
          reason:
          @"There can only be one Persion instance." userInfo:nil];
          抛出异常
          [exception raise];
     }
          保持系统的做法.
          return [super alloc];
     }
 
3.通过share方式获取对象
+(instancetype)sharePersion{
     return _instance

UIApplication单例

原文:http://www.cnblogs.com/ljwios/p/5271111.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!