UIApplication

本文介绍了UIApplication对象作为iOS程序入口的重要性,并提供了实现单例模式的方法。同时,详细解释了如何使用UIApplication对象进行应用图标数字设置、联网状态配置、状态栏样式调整等操作。最后,列举了UIApplicationDelegate协议中的关键生命周期回调方法。
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;
详细内容请点击 点击打开链接
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值