消息中心模式和KVO模式有点相似,差别在于。KVO  模式是意图在于监听摸一个相应的值的变化。而去出发一个方法相应的动作。而消息中心在于,广播。它就像一个广播基站,发送一条消息,在全部的加入监听的地方都可以收到此信息,并作出不同活着同样的动作,范围更广大。功能更强大


//加入消息中心监听(加入观察者,也能说成加入监听)
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(myNotification:)name:@“test1" object:nil];

它监听test1 整个值是否有人发送整个消息,监听者是self本类。假设监听到,就会触发myNotification
方法

     //通过消息中心发消息,

   //注意:消息中心,先做监听后发消息

   //object:发送的參数
    [[NSNotificationCenter defaultCenter]postNotificationName:@“test1" object:arra];

//这种方法能够在本project的随意类中,这样就能和别的地方进行通信了


//比方说,有五个页面,在前4个页面中都创建一个消息中心用来监听 一个 消息@“change”
// 我们在第五个页面。通过消息中心,发送一个@“change” 消息,这样前四个页面就能够收到这个消息。然后做出对应的动作
//一定要注意。创建消息中心监听  一定要在发送消息之前。  
//灵活运用各种周期函数时解决问题的关键



来个实例看看


两个界面   界面1   界面2   界面1创建消息中心监听消息,
界面2 床间消息中心,发送消息,并带有參数


//在一个界面1内创建消息中心
[[NSNotificationCenter defaultCenter]
addObserver:self selector:@selector(myNotification:)
name:@“test1" object:nil];



在界面1实现监听方法
//监听到消息的时候运行该方法
- (void)myNotification:(NSNotification *)n
{
   
//从接受到的消息n中,取出object,即消息中载入的參数

    //NSString *param = [n object];

    NSArray
*arr = [n object];

    NSLog(@"%@",arr);

}


在界面2发送一个数组作为參数
 NSArray
*arra = [NSArrayarrayWithObjects:@"a",@"d",
nil];

    //通过消息中心发消息,

    //注意:消息中心,先做监听后发消息

    //object:发送的參数
    [[NSNotificationCenter defaultCenter]
postNotificationName:@“test1" object:arra];

iOS设计模式之NSNotificationCenter 消息中心的更多相关文章

  1. IOS学习之NSNotificationCenter消息机制

    NSNotificationCenter是 Cococa消息中心,统一管理单进程内不同线程的消息通迅. 添加观察者接收通知: //添加通知中心观察者 [[NSNotificationCenter de ...

  2. html5引擎开发 -- 引擎消息中心和有限状态机 - 初步整理 一

    一 什么是有限状态机        FSM (finite-state machine),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型.他对于逻辑以及 ...

  3. iOS之NSNotificationCenter通知中心使用事项

    其实这里的通知和之前说到的KVO功能很想,也是用于监听操作的,但是和KVO不同的是,KVO只用来监听属性值的变化,这个发送监听的操作是系统控制的,我们控制不了,我们只能控制监听操作,类似于Androi ...

  4. iOS设计模式(01):观察者

    iOS设计模式(01):观察者 iOS-Observer-Pattern 什么是观察者模式 什么是观察者模式?你曾经订阅过报纸吗?在订阅报纸的时候,你不用去任何地方,只需要将你的个人地址信息以及订阅信 ...

  5. iOS开发之--NSNotificationCenter的使用

    NSNotification是IOS中一个调度消息通知的类,采用单例模式设计,在程序中实现传值.回调等地方应用很广 iOS中通知中心NSNotificationCenter应用总结 一.了解几个相关的 ...

  6. iOS 设计模式

    很赞的总结 iOS Design Patterns 中文版 IOS设计模式之一(MVC模式,单例模式) IOS设计模式之二(门面模式,装饰器模式) IOS设计模式之三(适配器模式,观察者模式) IOS ...

  7. IOS设计模式之一(MVC模式,单例模式)

    iOS 设计模式-你可能已经听说过这个词,但是你真正理解它意味着什么吗?虽然大多数的开发者可能都会认为设计模式是非常重要的,然而关于设计模式这一主题的文章却不多,并且有时候我们开发者在写代码的时候也不 ...

  8. NSNotificationCenter消息注册与撤销

    苹果的消息机制是个非常好用的东西,当需要在类的各个实例之间传递消息或者写一些事件驱动的程序时,绝对是个不错的工具.但是使用时一不小心就会造成引用已经被dealloc的对象的错误,引起程序崩溃.于是,在 ...

  9. iOS设计模式 - 备忘录

    iOS设计模式 - 备忘录 原理图 说明 1. 在不破坏封装的情况下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先保存的状态 2. 本人已经将创建状态与恢复状态 ...

随机推荐

  1. linux内核(四)内存管理单元MMU

    1,基本概念 一个程序运行时没必要全部都同时装入内存,只需要把当前需要运行的部分装入内存即可,这样就使得一个大程序可以在较小的内存中运行,也使得内存中可以同时装入更多的程序并发执行,从用户角度看,该系 ...

  2. Springmvc Get请求Tomcat、WebLogic中文乱码问题

    Springmvc Get请求Tomcat.WebLogic中文乱码问题 学习了:http://www.cnblogs.com/qingdaofu/p/5633225.html http://www. ...

  3. poj3061 Subsequence ,尺取法

    A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, a ...

  4. android选择图片或拍照图片上传到server(包含上传參数)

    在9ria论坛看到的.还没測试,先Mark与大家分享一下. 近期要搞一个项目,须要上传相冊和拍照的图片.不负所望,最终完毕了! 只是须要说明一下,事实上网上非常多教程拍照的图片.都是缩略图不是非常清晰 ...

  5. Matlab pchiptx

    function v = pchiptx(x,y,u) %PCHIPTX Textbook piecewise cubic Hermite interpolation. % v = pchiptx(x ...

  6. [jzoj 5177] [NOIP2017提高组模拟6.28] TRAVEL 解题报告 (二分)

    题目链接: https://jzoj.net/senior/#main/show/5177 题目: 题解: 首先选出的泡泡怪一定是连续的一段 L,R 然后 L 一定属于虫洞左边界中的某一个 R 也同样 ...

  7. linux系统定时任务crond入门

    1,Crond: Crond是linux系统中用来定期执行命令或指定程序任务的一种服务或者软件.(Centos5以后默认存在) 当优化开机自启动的时候,第一个就是crond. Crond服务默认情况( ...

  8. @JsonIgnore忽略属性,返回的json中不包含字段

    @JsonIgnore的使用: 实体类中加@JsonIgnore注解 package com.baidu.entity; import com.fasterxml.jackson.annotation ...

  9. (转载)android控件之WebView控件缩小

    android控件之WebView控件缩小 作者: 字体:[增加 减小] 类型:转载 时间:2013-05-16我要评论 发现这个控件挺好用,能自已控制进度条,而且这个控件的功能非常壮大,先上个简单的 ...

  10. HttpWebRequest WebExcepton: The remote server returned an error: (407) Proxy Authentication Required.

    1. Supply the credentials of the Currently Logged on User to the Proxy object similar to this: // Be ...