1、UIApplication 是 iPhone 应用程序的开始并且负责初始化并显示 UIWindow,并负责加载应用程序的第一个 UIView 到 UIWindow 窗体中。

  UIApplication 的另一个任务是帮助管理应用程序的生命周期,而 UIApplication 通过一个名字为 UIApplicationDelegate 的代理类来履行这个任务。

  尽管 UIApplication 会负责接收事件,而 UIApplicationDelegate 则决定应用程序如何去响应这些事件,UIApplicationDelegate 可以处理的事件包括应用程序的生命周期事件(比如程序启动和关闭)、系统事件(比如来电、记事项警 告)。

  Application 是一个单例对象

  iOS程序创建的第一个对象就是UIApplication对象

  通过[UIApplication sharedApplication]可以获得这个单例对象

2、默认创建一个single模板时,系统自动创建了一个UIApplication的对象

这里的nil其实是@"UIApplication",在UIApplicationMain中,同时又设置了application的代理:@"AppDelegate"

 // argc:系统传入参数的个数
// argv:系统传入参数的值的列表
// principalClassName:传入主要的类名
// 第四个参数表示:给应用程序"application"指定一个代理对象
return UIApplicationMain(argc, argv, @"UIApplication", @"AppDelegate");

应用程序启动之后,先创建Application,再创建它的代理AppDelegate,之后创建UIwindow,再创建控制器,创建控制器的view,然后将控制器的view添加到UIWindow上。

3.UIApplication常用属性:

1-applicationIconBadgeNumber设置应用图标右上角的提示数字

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
UIApplication *app = [UIApplication sharedApplication]; /**
iOS8.0之后通知消息要进行注册
set to 0 to hide. default is 0. In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to set the icon badge.
*/
if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0){
//注册
UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil]; [app registerUserNotificationSettings:setting];
}
app.applicationIconBadgeNumber = ; }

2-设置应用联网状态

@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible __TVOS_PROHIBITED; // showing network spinning gear in status bar. default is NO

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
UIApplication *app = [UIApplication sharedApplication]; app.networkActivityIndicatorVisible = YES;
}

4、常用方法

打开URL

- (BOOL)openURL:(NSURL*)url NS_EXTENSION_UNAVAILABLE_IOS("");

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
UIApplication *app = [UIApplication sharedApplication]; NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
[app openURL:url];
}

UIApplication的更多相关文章

  1. UIApplication和OpenUrl的基于使用方法

    UIApplication实用方法 前言: 本文介绍的方法每一个人在项目都应用过,只是有的时候容易忘记每次都要去百度.因为有些方法在整个项目中可能就只会写一次,基于此我只是做个笔记. 1. 每一个应用 ...

  2. 【转】iOS UIApplication详解

    1.状态栏UIStateBar的设置是在UIApplication里面设置的,它包含4中风格 2. - (void)beginIgnoringInteractionEvents; (void)endI ...

  3. iOS UIApplication sharedapplication用法

    应用中打开其他应用 我们来讨论一下,在iOS开发中,如何实现从app1打开app2. 基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一 ...

  4. 【iOS [[UIApplication sharedApplication] delegate]】运用

    之前想要拿到app的窗口,我们通常的写法是: [UIApplication sharedApplication].keyWindow 这种写法之前一直也觉得是正确的,没什么问题,而且网上大多数的博客或 ...

  5. iOS之UIApplication详解

    UIApplication对象特点: 特点1: UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序,而且是单例的.(用来封装整个应用程序的一个对象, ...

  6. 关于UIApplication单例传值

    由于UIApplication的是一个系统级别的单例,那么就能够省去自己创建单例的方法,将需要需要的类对象,在UIApplication单例内声明一个,通过点语法来实现单个 需要调用的实现单例模式的类 ...

  7. 1.0 UIApplication对象

    本文并非最终版本,如有更新或更正会第一时间置顶,联系方式详见文末 如果觉得本文内容过长,请前往本人 “简书”   UIApplication对象特点: 特点1: UIApplication对象是应用程 ...

  8. 【原】iOS学习之UIApplication及其代理

    1. 什么是UIApplication UIApplication 对象是应用程序的象征,不能手动创建,不能 alloc init,一个应用程序只允许 一个 . 每个应用都有自己的 UIApplica ...

  9. info.plist、pch和四大对象(UIApplication、UIApplicationDelegate、UIWindow、UIViewController)

    本文目录 1.程序配置文件info.plist,全局头文件pch 2.应用程序对象UIApplication介绍 3.UIApplicationDelegate介绍,程序启动过程 4.UIWindow ...

随机推荐

  1. js null 和 undefined

    undefined是一个特殊类型,null本质上是一个对象 typeof undefined//"undefined"typeof null//"object" ...

  2. 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179     一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT) ...

  3. Spring操作指南-IoC基础环境配置(基于XML)

  4. linux下设置固定IP

    编辑网卡配置文件 vi /etc/sysconfig/network-script/ifcfg-eth0 进入编辑模式 按i键进行编辑修改 DEVICE=eth0 #物理设备名 IPADDR=192. ...

  5. 解决windows下FileZilla server中文乱码问题

    最利用cuteftppro FTP做文件夹同步,发现中文的文件夹及文件名都出现了乱码问题, 一开始以为是cuteftppro的问题,谷哥度娘找了一堆的解决方案都没有解决乱码问题,真是头疼啊! 后来终于 ...

  6. Java 中 ThreadLocal 内存泄露的实例分析

    前言 之前写了一篇深入分析 ThreadLocal 内存泄漏问题是从理论上分析ThreadLocal的内存泄漏问题,这一篇文章我们来分析一下实际的内存泄漏案例.分析问题的过程比结果更重要,理论结合实际 ...

  7. 基于Java Netty框架构建高性能的部标808协议的GPS服务器

    使用Java语言开发一个高质量和高性能的jt808 协议的GPS通信服务器,并不是一件简单容易的事情,开发出来一段程序和能够承受数十万台车载接入是两码事,除去开发部标808协议的固有复杂性和几个月长周 ...

  8. l创建Excel文件

    最近的项目中遇到需要将List<Map<String,String>>存储到Excel文件中,为满足此需求设计实现了如下函数: /** * 将MapList转化为Excel文件 ...

  9. JSON--JavaScript Object Notation

    概念 一种轻量级的数据交换格式,本质是特定格式的字符串,是客户端和服务器端交互数据的常用选择 规则 []集合 [value1,value2] {}对象 {key1:value1,key2,value2 ...

  10. 2.3 C#的常量

    常量,顾名思义,就是不会改变的量. 我们平时书写的数字(比如3.14159).字符(比如Q).字符串(比如 谢谢),他们都是一些常量. 在使用这些常量的时候,有些常量很重要而且经常用到,比如圆周率3. ...