UIApplication

UIApplication对象是应用程序的象征,每一个应用都有自己的UIApplication对象,而且是单例的.一个iOS程序启动后创建的第一个对象就是UIApplication对象,
通过[UIApplication sharedApplication]可以获得这个单例对象
 
单例:整个内存只有一个对象,一般share开头
作用:利用UIApplication对象,能进行一些应用级别的操作(app图标右上角红色提醒数字,联网状态打电话、打开网页、控制状态栏)
1) UIApplication单例的验证
UIApplication *appcat1 = [UIApplication sharedApplication];
UIApplication *appcat2 = [UIApplication sharedApplication];
NSLog(@" appcat1-> %p appcat2-> %p",appcat1,appcat2);
appcat1-> 0x7fc95b42bc30
appcat2-> 0x7fc95b42bc30
两个地址相同。
1.设置应用程序图标右上角的红色提醒数字
@property(nonatomic) NSInteger applicationIconBadgeNumber;
使用示例:
-(void)setIconBadgeNumber
{
    /* UIAppication */
    UIApplication *appcat = [UIApplication sharedApplication];
   
    /* 注册通知 */
    [appcat registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil]];
    /* 设置提醒数 */
    appcat.applicationIconBadgeNumber = 10;
}
 
 
2.设置联网指示器的可见性
@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;
-(void)setNetWorkIndicat
{
    /* 获取app的UIApplication */
    UIApplication *appcat = [UIApplication sharedApplication];
    // 联网状态可见
    appcat.networkActivityIndicatorVisible = YES;
}
3.打开网页
- (IBAction)openNet:(UIButton *)sender
{
    /* 获取app的UIApplication */
    UIApplication *appcat = [UIApplication sharedApplication];
    /* 设置URL地址 */
    NSURL *baiduUrl = [NSURL URLWithString:@"http://www.baidu.com"];
    /* 打开指定的地址 */
    [appcat openURL:baiduUrl];
}
属于应用级别的操作,要使用UIApplication
原文地址:https://www.cnblogs.com/jianghg/p/4570378.html