前言 面向对象的设计思想是把行为方法封装到每一个对象中,以用来增加代码的复用性。正是这种分散封装,增加了对象之间的相互关联,总是有很多的对象需要彼此了解以及相互操作! 一个简单示例说明这种交 ...
NSNotification 这个类可以理解为一个消息对象,其中有三个成员变量。 这个成员变量是这个消息对象的唯一标识,用于辨别消息对象。 property readonly, copy NSString name 这个成员变量定义一个对象,可以理解为针对某一个对象的消息。 property readonly, retain id object 这个成员变量是一个字典,可以用其来进行传值。 pr ...
2016-09-23 18:11 0 1930 推荐指数:
前言 面向对象的设计思想是把行为方法封装到每一个对象中,以用来增加代码的复用性。正是这种分散封装,增加了对象之间的相互关联,总是有很多的对象需要彼此了解以及相互操作! 一个简单示例说明这种交 ...
系统不是已经有通知中心NSNotificationCenter了吗?为什么还要自己实现一个呢?下面我们就考虑以下例子(下面大部分是我抄下我在github上写的说明及原码): 在iOS中模块间通知我们用得最多的就是NSNotificationCenter。举个例子,现在我们有一个模块需要抛 ...
其实这里的通知和之前说到的KVO功能很想,也是用于监听操作的,但是和KVO不同的是,KVO只用来监听属性值的变化,这个发送监听的操作是系统控制的,我们控制不了,我们只能控制监听操作,类似于Android中系统发送的广播,我们只能接受。但是通知就不一样了,他的监听发送也是又我们自己控制,我们可以在任 ...
一、了解几个相关的类 1、NSNotification 这个类可以理解为一个消息对象,其中有三个成员变量。 这个成员变量是这个消息对象的唯一标识,用于辨别消息对象。 @property ...
通知中心(NSNotificationCenter)实际是在程序内部提供了一种广播机制。把接收到的消息,根据内部的消息转发表,将消息转发给需要的对象。这句话其实已经很明显的告诉我们要如何使用通知了。第一步:在需要的地方注册要观察的通知,第二步:在某地方发送通知。(这里注意:发送的通知可能是 ...
NSNotificationCenter 在 init里面注册这个通知, NSString* const str = @"FuckMe"; [[NSNotificationCenter defaultCenter] addObserver:self selector ...
Where to remove observer for NSNotification? 在dealloc方法中移除通知观察者带来crash NSNotificationCenter中的通知消息已经发出,而观察者对象子线程释放,也就是抛送通知消息的线程和观察者 ...
iOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多,类之间的传值用到的比较多,不过委托相对来说只能是一对一,比如说页面A跳转到页面B,页面的B的值改变要映射到页面A,页面C的值改变也需要映射到页面A,那么就需要需要两个委托解决问题 ...