当先锋百科网

首页 1 2 3 4 5 6 7

一、来,看看,我们先给大家介绍一下通知

1.那么,这个通知,我们就是要给大家介绍三个东西

1)一个是通知的发布:如何发布通知

2)一个是通知的监听:发布以后,如何监听通知

3)一个是通知的移除:注意,通知一定要怎么样,最后,移除,

通知

2.当你监听了一个通知以后,当你这个对象没有的时候,一定要把它移出一下,这个通知,否则就会有,野指针错误了,

类似于野指针错误了,空对象错误,

所以说,我们,要学习就是通知的发布、通知的监听、通知的移除、

就这么三点,

当我介绍完以后,如果这三点你都不会,我就白介绍了,

如果都会了,那就够了,

3.通知的发布

通知

好,那么,在介绍之前,告诉大家,

我们这个通知里面,有这么两个对象,需要注意的,一个叫做

1)NSNotificationCenter

2)NSNotification

那么,这两个对象,是干什么的,

无论你是发布通知,还是监听通知,都必须通过谁来实现,

NSNotificationCenter

通知

无论你是发布通知,还是监听通知,都必须通过NSNotificationCenter,来实现,

每次你发布的一条儿通知,就是一个什么对象呢,

就是一个NSNotification,这么一个对象,

通知

每次发布的一条儿通知,就是一个NSNotification,这么一个对象,

所以说,现在有两个对象,

有两个类,你得搞明白,

1)当你要发布通知的时候,或者说,当你要监听通知的时候,你得首先拿到哪个类的对象,

NSNotificationCenter,这个对象啊,

2)注意,你每次发布的一个通知,这个通知里面,会包含好多信息,

包括通知的名称,

包括通知的内容,

等等,

会包含这些信息,这些信息,都会封装到一个什么对象里面来保存呢,

都会封装到一个NSNotification,对象,所以说,一个NSNotification,对象,就表示一个通知的一些信息啊,

那么,每一个通知,就是一个NSNotification,

十个通知,就得有几个,十个NSNotification,

所以说,上面这个对象,是用来发布和监听通知的,

下边这个对象,是用来封装一个通知的,

通知

OK,就是这么两个东西,

好,这是我们关于这两个类,要搞明白,

等会儿,我们主要就是学习,这两个对象,怎么来去用它,

二、通知中心

通知
通知

先给大家来看一下这幅图,

好,注意,现在呢,这里有一幅图,这幅图里面呢,

有这么几个部分,

1)第一个,是红色框框,框住的这个

通知

这个里面是发布通知的对象,

这个对象A,是用来发布通知的,这里有一个NSNotification,

两个NSNotification,

三个NSNotification,

表示这个A对象,发布了几个通知啊,三个通知吧,

通知

1)第一个通知的名字,是不是在这个name里面,第一个通知的名字叫@“通知1”

2)第二个通知的名字,叫@“通知2”

3)第三个通知的名字,叫@“通知3”

通知

这是A对象,发布了三个通知,

2)然后,这个绿色框框,框住的这个对象,

绿色

对象B,它是用来监听通知的,

它是用来监听通知的,

注意,这个对象B里面的,M1方法,监听了A对象发布的第一个通知,@“通知1”,

通知

同时,是不是也监听了A对象发布的第二个通知,@“通知2”,啊,

通知

就是说,对象B里面,的M1方法,监听了A对象发布的通知1、和通知2

3)然后,对象B里面的M2方法,监听了对象A里面的通知1、和通知3

通知

4)对象B里面的M3方法,它只是监听了A对象里面的第3个通知、通知3,啊,

通知

也就是说,现在,我们A,某个对象,可以发布很多个通知,

另外一个对象,是不是也可以监听很多个通知吧,

同时,一个方法,可以监听一个通知,

一个方法,是不是也可以监听多个通知吧,

一个通知,可以被一个方法监听,

一个通知,也可以被多个方法监听,

明白我的意思吧,就像广播一样,

当然,在我们国家,因为有法律规定,不是说人人都能开一个广播电台的吧,但是实际上,技术上,每个人是不是都可以发布自己的一个广播电台,

只要你买个收音机,是不是别人就可以监听它那个、接收它的广播信号吧,

然后你发广播的时候,你需要关心将来有多少人收听吗,

你发广播的时候,你只是发出去了,你知道有多少人收听吗,

根本不知道,你只要把它发出去,那么,别人收听的时候,它收听的时候,清楚不清楚、能不能收到,是不是你不管啊,

你要做的只是,把这个广播发出去,然后呢,谁想听,自己拿收音机收我的台就OK了吧,

通知和这个有点儿像,

通知,就是A对象,只管发通知,你想发几个通知就发几个通知,

发完以后,别人到底监听不监听你这个通知,A对象需要管吗,

A对象根本不关心,

也就是说,很多通知,A对象发了以后,是没有人监听的,

这样是没有错的,

明白吧,你谁想监听你就监听,不想监听你就别监听,

反正我发通知的人,我一定会发,明白,我一定会发,就是这个意思,

好,接下来,就是需要:

1)用一个对象来发通知

2)用一个对象来监听通知

那么注意,发通知,得用哪个对象,NSNotificationCenter吧,

通知