ios开发笔记-关于UIApplication(上)概念、特点、属性、单例

这个系列主要写一些平时ios开发和学习过程中所记录的问题、随笔和解决方法,我会尽量用更多的截图或者gif图来还原我的开发现场,在执行个人备忘录功能的同时希望对你有所帮助。

1.UIApplication概念

  • UIApplication对象是应用程序的象征
  • 每一个应用都有自己的UIApplication对象,而且是单例的
  • 通过[UIApplication sharedApplication】可以获得这个单例对象
  • 一个ios程序启动后创建的第一个对象就是UIApplication对象

2.UIApplication的常用属性

  • 设置应用程序图标右上角的红色提醒数字

@property(nonatomic)NSInteger applicationIconBadgeNumber;

  • 设置物联网指示器的可见性

@property(nonatomic,getter= isNetworkActivityIndicatorVisible)BOOL networkActivityIndicatorVisible;

3.UIApplication创建对象的特点

  1. 程序一运行就创建对象
  2. 创建的对象只有一个
  3. 只要调用alloc程序就崩溃

  • 遵循单例模式

UIApplication *app1 = [UIApplication sharedApplication];

UIApplication *app2 = [UIApplication sharedApplication];

NSLog(@"%p-----%p",app1,app2);//输出的地址一样

  • 调用alloc崩溃

崩溃截图

4.利用UIApplication特点制作单例对象

  • 程序一运行就创建对象
static Topus *_instance;

    //当类被加载到内存当中时调用load

+(void)load{

    NSLog(@"%s",__func__);

    _instance = [[Topus alloc]init];

}


  • 创建的对象只有一个
+(instancetype)sharedTopus{

    return _instance;

}

只要调用alloc程序就崩溃

Topus *t1 = [Topus sharedTopus];

Topus *t2 = [Topus sharedTopus];

NSLog(@"%p-----%p",t1,t2);//地址一样

Topus *t3 = [[Topus alloc]init];//崩溃

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容