UIApplication

UIApplication对象是应用程序的象征,每个应用都有自己的UIApplication对象,这对象是系统自动帮我们创建的,他是一个单例对象,一个ios程序启动后创建的第一个对象就是UIApplication对象我们只能通过[UIApplication sharedApplication]获得这个单例对象。不能手动创建。

一、仿制UIApplication单例

1、程序已启动就去创建对象;
+(void)load{
    _myApplication = [[MyApplication alloc]init];
}
2、保证调用alloc时会产生异常,重写系统的alloc方法。
+(instancetype)alloc{
    
    if (_myApplication) {
        NSException *exception = [NSException exceptionWithName:@"NSInternalInconsistencyException" reason:@"There can only be one Person instance."  userInfo:nil];
        [exception raise];
    }
    return [super alloc];
}
3、同过share方法获取对象。
+(instancetype)shareMyApplication{
    
    return _myApplication;
}

二、UIApplication的功能

1、设应用提醒数字;
UIApplication *app = [UIApplication sharedApplication];
    app.applicationIconBadgeNumber = 666;
2、设置联网状态;
 UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
 [app registerUserNotificationSettings:setting];
3、设置状态栏;
app.statusBarStyle = UIStatusBarStyleDefault;

4、打开

[app openURL:[NSURL URLWithString:@"tell://110"]];
    [app openURL:[NSURL URLWithString:@"mailto://ygw163.com"]];
    [app openURL:[NSURL URLWithString:@"http://www.baidu.com"]];
    

三、UIApplication代理

UIApplication会在程序一启动的时候创建一个UIApplicationDelegate的代理,这个就是我们程序一创建的时候的AppDelegate类。AppDelegate就是遵守了UIApplicationDelegate协议。这个类定义很多监听事件的方法,同时也定义了一些应用程序的生命周期方法。
1、应用程序启动完就调用;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
2、应用程序将要进入前景
- (void)applicationWillEnterForeground:(UIApplication *)application;
3、应用程序失去焦点的时候调用;
- (void)applicationWillResignActive:(UIApplication *)application;
4、应用程序即将进入后台的时候调用;
- (void)applicationDidEnterBackground:(UIApplication *)application;
5、当一个应用程序完全获取焦点时候调用;
- (void)applicationDidBecomeActive:(UIApplication *)application;
6、当一个程序即将关闭的时候调用。
- (void)applicationWillTerminate:(UIApplication *)application;
详细内容请点击 点击打开链接
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值