【应用程序代理对象ApplicationDelegate-应用程序启动过程介绍 Objective-C语言】

news/2024/11/20 12:33:31/

一、那我们接着昨天的内容,继续往下讲

通知

通知

1.有人对昨天最后这块儿内容有点儿晕,再捋一下吧,

1)我们刚开始的时候,是不是在Main.storyboard里面,放了一个按钮

通知

2)我呢,想在点击按钮的时候,执行一些操作,对吧,

所以呢,我给它拖了一个事件,

通知

拖到类实现里面,

3)那,首先,第一步:我们演示的是获取这个应用程序对象:

通知

然后呢,获取应用程序对象,比如说,它是一个单例,怎么去验证它是一个单例呢,

是不是获取两次,打印一下它们的地址,是不是一模一样的,对吧,

通知

这就是我们应用程序,是一个单例,

现在你不要纠结什么是单例,在网络和多线程的时候,我会解释怎么去写出这个单例,

3)在应用头像上设置数字,

通知

默认情况下是0,没有数字,对吧,

那如果你想显示数字呢,就给它直接设置,

app.applicationIconBadgeNumber = 10 ;

通知

但是,有一个注意点,

就是在iOS8.0以后,你是不是需要注册,

然后呢,app,就是你当前这个应用,

通知

需要注册用户的通知设置:

通知

然后呢,需要用户允许,对吧,

如果用户不允许你推送,你能推送吗,是不是不能啊,

你这个应用头像Number,你也不能设置了,

而且,这一部分代码:

通知

是只执行一次的,

不知道大家在写代码的时候,有没有发现,

你下次再运行的时候,它还会不会提示你,

不会吧,

对,这个的话,是只提醒一次,

这个也是系统帮我们去管理的,

你不需要去担心,

而且就是,你第一次执行了这个代码以后:

通知

才去提醒,

有时候我们下载的应用,比如说,微信,或者支付宝,

你是不是在用到摄像头的时候,才会提醒你,要允许这个应用打开摄像头,

然后呢,你点一下“允许”,它才可以打开摄像头,

那这个呢,就是,它只提醒一次,你用到的时候,再提醒,

而且以后再来的话,就不会再执行这个提醒操作了啊,

那,如果,用户没有允许你去设置,怎么办呢,

那,他下次再想用到这个功能,你是不是就得要提示他,去设置里面把这个功能打开,

对,提示一下就行了,

这就是设置头像上的数字,

4)还有就是,联网指示器,

通知

联网状态指示器,

知道在哪儿吧,

通知

左上角的菊花,对吧,

5)然后呢,还有openURL:这个了解一下就行了啊,

6)最后这个,状态栏管理:

通知

状态栏管理,怎么去操作的呢,

默认情况下,这个状态栏,是不是交给控制器去管理的,

那有同学可能会问,为什么要把这个状态栏,交给应用程序,对吧,

那给大家解释一下啊,为什么要把这个状态栏,交给应用程序,

那,在我们应用里面,我们说,一个完整的应用,

它不可能只有一个界面吧,

也不可能只有一个控制器,对不对,

否则的话,那就没有我今天要讲的内容了,

所以呢,有很多个控制器,难道你就要在每一个里面,都执行一个操作吗:

通知

假如说,我这个应用,是一个比较深的背景,

我现在呢,要把状态栏,改成一个浅色的,

那你是不是要在每个控制器里面,都写一次,

如果你不把它交给应用程序,那么就要在每一个里面,写一次,

然后呢,你要把它交给应用程序,是不是一次设置就够了,

我们现在,只是演示了一个Hidden,

通知

其实呢,它也可以设置它的Style:

通知

看到没有:

通知

你是不是可以设置它为浅色的效果,

按command 键,进去:

通知

UIStatusBarStyle:

通知

点一下,进去:

通知

LightContent:

通知

command + C、

回来,

通知

command + V:

通知

我们前面是不是在控制器里面,prefersStatusBarStyle,

通知

没有问题吧,

然后,这就可以通过应用程序,一次性把这些所有的,都搞定:

通知

不需要你再去手动的去,一个一个控制器去写了,

这个我就不再演示了,我把这个注释掉:

通知

但是呢,比如说,在xcode7.0里面,你要把这个状态栏的管理,交给应用程序,你是怎么做的呢,

我们是不是在info.plist文件里面,增加了一个Key,

通知

View Controller-based status bar:NO

这个Key,在什么位置呢,

通知

点击加号,是不是在最下面啊,

不需要记的啊,直接往最下面滚,就行了,

就在最下面,

然后呢,给它关了,设置为NO,

是不是就可以了,

通知

这个状态栏的管理,就交给应用程序了,

通知

这个一定要知道,

好,那这些呢,


http://www.ppmy.cn/news/1158382.html

相关文章

优秀的推荐系统架构与应用:从YouTube到Pinterest、Flink和阿里巴巴

文章目录 🌟 业界经典:YouTube深度学习推荐系统的经典架构长什么样?🍊 基础架构🍊 深度学习模型🍊 额外组件 🌟 图神经网络:Pinterest如何应用图神经网络的?&#x1f34a…

【Linux基础】详谈Shell运行原理------王婆传媒(高重复率面试题)

目录 💧前言 💦Shell的运行原理 👉Shell的基本概念与作用 👉原理的展示与剖析 👉Shell外壳感性理解【一门亲事】 💧总结 💧共勉 💧前言 在之前的 Linux 讲解中,主要说…

讲解 CSS 过渡和动画 — transition/animation (很全面)

前言 由于用户越来越注重 Web应用 的使用体验,随之而来的是 Web应用 需要提供了更加完善的 Web 动画 效果来实现以平滑的状态贯穿于用户的整个使用过程中。现在,这已经是司空见惯了,用户潜意识是希望可以获得更快的反馈响应和更友好的用户界…

#力扣:21. 合并两个有序链表@FDDLC

21. 合并两个有序链表 一、Java class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {if (list1 null) return list2;if (list2 null) return list1;if (list1.val < list2.val) {list1.next mergeTwoLists(list1.next, list2);return li…

1671 得到山行数组的最少删除次数(贪心+二分)

题目 1671 我们定义 arr 是 山形数组 当且仅当它满足&#xff1a; arr.length > 3 存在某个下标 i &#xff08;从 0 开始&#xff09; 满足 0 < i < arr.length - 1 且&#xff1a; arr[0] < arr[1] < … < arr[i - 1] < arr[i] arr[i] > arr[i 1]…

Lazysysadmin靶机

信息收集 主机发现 nmap -sn 192.168.88.0/24 //-sn&#xff1a;制作主机发现&#xff0c;不做端口扫描&#xff1b;扫描结果包含本机IP 端口扫描 nmap --min-rate 10000 -p- 192.168.88.136 扫描端口详细信息 端口扫描发现&#xff0c;该主机的22、80、139、445、3306、…

《向量数据库指南》——选择向量数据库时需要考量的点Milvus Cloud

大禹智库:选择向量数据库时需要考量的点 性能 如上述,查询性能(查询的响应时间,系统的吞吐能力)是在选型向量数据库时的一个重要参考点,市面上现有的向量数据库的 Benchmark 有: ANN-Benchmark 是一种用于评估各种向量数据库和近似最近邻(ANN)算法性能的工具 VectorD…

【网络协议】聊聊网络分层

常用的网络协议 首先我们输入www.taobao.com&#xff0c;会先经过DNS进行域名解析&#xff0c;转换为59.82.122.115的公网IP地址。然后就会发起请求&#xff0c;一般来说非加密的使用http&#xff0c;加密的使用https。上面是在应用层做的处理&#xff0c;那么接下来就是到传输…