美文网首页iOS UIApplication程序员
ios开发笔记-关于UIApplication(上)概念、特点、

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

作者: Topus | 来源:发表于2018-02-16 18:05 被阅读14次

这个系列主要写一些平时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];//崩溃

相关文章

网友评论

    本文标题:ios开发笔记-关于UIApplication(上)概念、特点、

    本文链接:https://www.haomeiwen.com/subject/feyptftx.html