初识iOS中的通知中心【图文+视频】

来源:互联网 发布:汉诺塔非递归算法 编辑:程序博客网 时间:2024/05/16 14:56

注:本系列学习帖子我在DevDiv.com移动开发社区原创首发

        转载请注明出处:BeyondVincent(破船)@DevDiv.com

如果你有什么问题也可以前往交流

下面是首发地址:

初识iOS中的通知中心

【注】本帖子对应的学习视频,点击这里前往观看


目录
1. 通知中心是什么
2. 通知中心两个重要的类
3. 通知中心如何使用
4. Demo示例

1.     通知中心是什么

通知中心实际上是在程序内部提供了消息广播的一种机制。通知中心不能在进程间进行通信。实际上就是一个二传手,把接收到的消息,根据内部的一个消息转发表,来将消息转发给需要的对象。通知中心是基于观察者模式的,它允许注册、删除观察者。从下图,我们可以总结一下通知中心的一些概念。

 


 

2.     通知中心两个重要的类

通知中心有两个重要的类,如下图所示:

NSNotificationCenter:这是iOS中通知中心的灵魂,由该类实现了观察者模式,并给开发者提供了诸如注册、删除观察者的接口,我们可以通过一个单例来获得它的实例(注,一个程序内部只有一个NSNotificationCenter实例对象)。

NSNotification:这是消息携带的载体,通过它,可以把消息内容传递给观察者。

其中:name对应消息名称标示。object一般是发送者本身、dictionary则是传递的消息内容。



 

3.     通知中心如何使用

 

通过下图,我们可以看出,通知中心的使用可以分为4个步骤。

这里需要额外提一点的是:发送消息不仅仅可以有用户发起,也可以是系统发起。

 

当我们注册了某个消息的观察者后,如果有了对应的消息,则观察者会收到相应的消息,并展开处理。这里需要注意的是,当使用完消息之后,不想在接收到消息,则需要把观察者移除,否则会出现错误。



 

4.     Demo示例




Demo下载:

http://www.devdiv.com/thread-130016-1-1.html