这个系列主要写一些平时ios开发和学习过程中所记录的问题、随笔和解决方法,我会尽量用更多的截图或者gif图来还原我的开发现场,在执行个人备忘录功能的同时希望对你有所帮助。
1.UIApplication概念
- UIApplication对象是应用程序的象征
- 每一个应用都有自己的UIApplication对象,而且是单例的
- 通过[UIApplication sharedApplication】可以获得这个单例对象
- 一个ios程序启动后创建的第一个对象就是UIApplication对象
2.UIApplication的常用属性
- 设置应用程序图标右上角的红色提醒数字
@property(nonatomic)NSInteger applicationIconBadgeNumber;
- 设置物联网指示器的可见性
@property(nonatomic,getter= isNetworkActivityIndicatorVisible)BOOL networkActivityIndicatorVisible;
3.UIApplication创建对象的特点
- 程序一运行就创建对象
- 创建的对象只有一个
- 只要调用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];//崩溃