IOS UIAppLocation 单例模式

时间:2023-03-09 08:11:12
IOS UIAppLocation 单例模式
UIApplocation * app=[UIApplocation shareapplocation];

UIAppLocation 只能被初始化一次。 一个程序中只能被创建一次,称为单例模式。

单例模式模仿苹果的做法

在load方法里alloc

建一个控制器

person.h

person.m 继承与NSObject

.h文件里声明一个-(person)sharePerson;

.m文件里这样书写

//创建一个静态变量
static person * _instance=nil; //重写 load方法
//类已加载的时候就 alloc 类
+(void)load{
_instance=[[self alloc] init]
} //重写 alloc 方法
+(void)alloc{ //如果alloc 了就报异常
if(_instance){
NSException * excep=[NSException exceptionWithName:@"NSInternalInconsistenpyException" reason:"There can be one person instance" userInfo:nil];
[excep raise]
}
[supper alloc]
} -(person)sharePerson{
return _instance;
}

  

  

  

UIAppLocation 的作用

1、可以用指定app的消息数量

UIApplocation * app =[UIApplocation shareapplocation];
//设置应用程序提醒数字
app.applocationbadgeNumber=;
//创建一个信息对象
UIUserNotificationSetting * setting=[UIUserNotificationSetting settingForType:UIUserNotificationTypeBadge categroies:nil];
//注册信息
[app registerUserNotificationSetting:setting];

2、显示联网状态

app.networkActivityIndicatorVisible=YES

3、可以控制状态栏的隐藏与显示装填

app.statusBarHidden=YES

4、可以打开一个链接,或拨打电话

NSUrl * url =[NSURL URLWithString:@"http://www.baidu.com"];

[app openURL:url]