- 浏览: 244345 次
- 性别:
- 来自: 天津
文章分类
最新评论
-
yulanlian:
...
实现在删除数据后,自增列的值连续 -
RonQi:
楼主写的很好,支持原创!
Google Protocol Buffers
这是一个观察者模式。
首先在你需要监听的类中加入观察者:
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject;
这个观察者在监听到anObject发送名字为aName的notification时,调用selector的方法,在aSelector方法中得到userInfo。
anObject表示从谁那儿发送出来的消息。
一般的selector中的方法可以这么写:
- (void)method: (NSNotification:)sender
{
NSDictionary *dict = [sender userInfo];
}
也就是说监听到了anObject发出消息,消息的名字是aName,此时observer就调用aSelector方法,把notification的userInfo拷贝到本地。
然后在被监听的类中发送通知:
可以使用一下三个方法:
- (void)postNotification:(NSNotification *)notification;
- (void)postNotificationName:(NSString *)aName object:(id)anObject;
- (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;
anObject表示谁发送了这个消息。
第一个方法直接把定义好的notification发出,notification的初始化方法如下:
+ (id)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)userInfo
第二个方法只定义了消息名和发消息者,没有传递实际的参数,貌似也可以把anObject自身作为消息传递出去,这个还没有搞懂。差不多就是作为observer可以回调poster。
第三个方法指定消息名称,发消息者,并且传递了userInfo。也就相当于初始化了一个notification,并且用第一个方法发出。
如果object:nil表示以广播方式发消息或者得到消息,这个时候只要消息名字是对的就可以得到这个消息。
object:用来表示 谁发送的消息,或者从谁得到消息。
参数应该在userInfo里面传递。
NSNotification的作用是在同一程序的不同类中传递参数,传递的方法是把参数放在NSDictionary类型的userInfo中。
NSNotificationCenter的作用:我的理解就是一个中转站,每个对象都有自己的
发表评论
-
ios 国际化相关
2011-10-08 18:49 1457添加国际化 1. 代码中使用字符串的地方 使用 NS ... -
iPhone开发笔记
2011-09-26 21:52 1106退回输入键盘: - (BOOL) textFie ... -
ios开发基础知识 - 1
2011-09-26 21:51 1130输出 command+shift+r NSLog(@& ... -
ios---超链接的UILabel教程
2011-09-26 21:50 1550超链接的UILabel教程 -
ios开发基础问题总结
2011-09-26 21:49 1285订阅 1,如何进入应用后首 ... -
UILabel用法
2011-09-26 20:45 1828/设置换行 UILabel*label; / ... -
IPhone之UIScrollView [转载]
2011-09-22 15:55 923原文地址:IPhone之UIScrollView作者:飞 ... -
手势识别
2011-09-03 17:19 899注册: UISwipeGestureReco ... -
“碰撞”探测
2011-08-21 14:28 847首先要向大家说明的是,所谓“碰撞”探测没有大家想想 ... -
coco2d地图显示相关类
2011-08-21 07:55 1611摘自:知易教程 Cocos2d-iPhone 实现地图 ... -
Cocos2D 的事件处理机制
2011-08-21 07:21 1596摘自:知易教程 系统当前场景对象包含多个层 ... -
cocos2d游戏开发,常用工具集合
2011-08-20 19:40 836位图字体工具Bitmap Font ToolsBMFon ... -
iPhone OS 的 Touche 事件
2011-08-20 19:34 1350知易教程 基础知识 在开始介绍 iPhone OS ... -
iPad, iPhone, and Aspect Ratio
2011-08-05 11:58 958好,现在处理iphone上 ... -
Retina Display and Cocos2D
2011-08-05 11:57 1341最新版本的cocos2d完全 ... -
网络编程总结
2011-08-04 15:41 830一:确认网络环境3G/WIFI 1. 添加源文件和fra ... -
Cocos2D界面切换方式
2011-08-04 15:37 1639CCTransitionFade, //渐隐 ... -
Protocol协议的用法
2011-08-04 15:30 1260一、说明 两个类进行通讯,用协议就比较方便。 (书 ... -
IOS开源项目和官方例子汇总
2011-08-04 14:22 1853开源项目: 扫描wifi信息:http://code. ... -
cocos2d场景和UIViewController视图的切换
2011-08-04 14:20 1622cocos2d中从场景切换到UIViewController视 ...
相关推荐
在iOS和macOS开发中,`delegate`、`NSNotification`和`block`是三种常见的对象间通信机制。它们各自有着不同的特性和应用场景,理解这些差异对于优化代码结构和提高程序性能至关重要。 首先,我们来看看`delegate`...
在iOS开发中,NSNotification是Objective-C中的一个关键概念,它属于Foundation框架,用于对象间通信。NSNotification机制允许对象广播消息给其他对象,而无需这些对象之间有直接的引用关系,这种设计模式被称为发布...
为了解决这个问题,我们可以利用NSNotification来监听键盘的显示和隐藏,从而调整界面布局,确保内容始终可见。本文将详细介绍如何通过NSNotification解决iOS中的键盘遮挡问题。 首先,我们需要了解键盘的通知类型...
QTEventBus是一个开源项目,设计目标是为iOS应用提供一个快速、强类型且易于使用的消息总线,同时兼容苹果的NSNotification机制。消息总线是一种设计模式,它允许应用程序中的组件之间进行松散耦合的通信,而无需...
iOS开发中,KVC(Key-Value Coding)、KVO(Key-Value Observing)、NSNotification和Delegate是四种常见的数据通信和状态监听技术。下面将详细解释这些概念及其区别。 1. KVC(Key-Value Coding) KVC是Objective-...
一个简单的库,用于使用 UIControl、NSNotification、Key Value Observing... ##Install with CocoaPod pod 'ObserverKit' 和 #import "OKObserver.h" #import "NSObject+OKObserver.h" // Optional ##例子 ...
SRGModelEvent 是 NSNotification 的瘦包装库,可以更轻松地观察/通知您的模型。 安装 将以下行添加到您的 podfile 并运行pod update 。 pod 'SRGModelEvent' 用法 首先你需要包含头文件。 # import " ...
NSNotification是iOS开发中一个至关重要的概念,它是Apple的Foundation框架的一部分,用于在应用程序的不同组件之间进行松耦合的通信。NSNotification允许对象发送消息(被称为通知)到其他对象,而无需直接知道接收...
本示例项目“iPhone编程的通知例子”旨在讲解如何利用NSNotification机制和Delegate模式来实现这种通信。这两种方法都是Objective-C语言中核心的特性,对于理解和创建功能丰富的iOS应用程序至关重要。 首先,我们来...
iOS中的NSNotification中心是一个重要的通信机制,它允许对象间进行松耦合的消息传递。NSNotification与Delegate都是iOS中常见的消息传递方式,它们各有特点和适用场景。 首先,我们来看看NSNotification和Delegate...
在iOS开发中,NSNotification是Objective-C中的一个关键概念,它用于在对象之间进行解耦通信。这个`ios-对NSNotificationCenter的封装.zip`文件提供了一个针对NSNotification的封装,目的是简化使用过程,增强代码的...
在iOS开发中,NSNotification是Objective-C中的一个关键组件,它用于在对象之间传递消息,无需直接耦合。NotificationHelper是对NSNotification中心的封装,旨在简化通知的注册、发布和取消订阅流程,同时也解决了...
苹果提供了多种方式来实现这一目标,其中包括代理、KVO(Key-Value Observing)、Block以及NSNotification。本教程将重点讨论如何使用NSNotification来实现在不同视图间的数据传递,作为博客中介绍的四种方法的补充...
自动释放NSNotification的Observer的实验 实验了几种做法,其中二和三可以实现, 但仅粗略验证, 可能有未知的问题. ####一、@妙玄 提供思路:外层包装一个Wrapper对象来感知Observer的释放,通过Wrapper对象来移除通知....
本篇文章将详细探讨四种常见的UI界面间值传递方法:Key-Value Observing (KVO)、协议代理、单例模式以及NSNotification。 首先,Key-Value Observing(KVO)是一种对象监听另一对象属性变化的方法。在`QQLogin_4...
"监听"这个概念在OC中通常指的是对象间的消息传递和响应机制,也就是KVO(Key-Value Observing)和通知(NSNotification)。这两种机制允许一个对象监听另一个对象的属性变化或者特定事件的发生,并在这些变化或事件...
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { int mode = disableBeamSync; CGSSetDebugOptions(mode ? 0 : 0x08000000); CGSDeferredUpdates(mode); [self.window close]; ...