UIApplication对象是应用程序的象征,每一个应用都有自己的UIApplication对象,而且是单例的.一个iOS程序启动后创建的第一个对象就是UIApplication对象,
通过[UIApplication sharedApplication]可以获得这个单例对象
单例:整个内存只有一个对象,一般share开头
作用:利用UIApplication对象,能进行一些应用级别的操作(app图标右上角红色提醒数字,联网状态打电话、打开网页、控制状态栏)
1) UIApplication单例的验证
UIApplication *appcat1 = [UIApplication sharedApplication];
UIApplication *appcat2 = [UIApplication sharedApplication];
NSLog(@"\nappcat1-> %p \nappcat2-> %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