ios中怎么给自己添加监听模式下
展开全部
本文介绍Objective C中实现观察者模式(也被称为广播者/监听者、发布/注册或者通知)的五种方法以及每种方法的价值所在。
该文章将包括:
1 手动广播者和监听者(Broadcaster and listeners)
2 键-值观察(Key Value Observing)
3 通知中心(Notification center)
4 上下文通知(Context notification)
5 用于观察的委托(Delegate)
关于观察者
观察者模式是维持两个模块之间抽象关系的最强大的方式之一。观察者模式包括一个发布已发生事件的模块以及响应该事件的另一模块的若干个的实例。它和直接调 用第二个模块的方法不同,因为第一个模块不需要关注有多少个观察者,从而实现观察者和被观察者之间更加完全的抽象关系。
手动广播者和监听者
手动的方式需要广播者保有一个监听者的数组(NSArray)或集合(NSSet)。在需要通知监听者一个事件的合适时机广播者直接调用各个监听者上相关方法。
在广播者类上你可能需要一个NSMutableArray、NSSet或NSMutableDictionary。NSMutableDictionary比较适合将事件标识符的类型作为每个监听者的键值。在广播者上你还需要有监听者注册和取消注册的方法。
给NSArray或NSSet中的每个对象方式消息的方法很简单,如下:
该文章将包括:
1 手动广播者和监听者(Broadcaster and listeners)
2 键-值观察(Key Value Observing)
3 通知中心(Notification center)
4 上下文通知(Context notification)
5 用于观察的委托(Delegate)
关于观察者
观察者模式是维持两个模块之间抽象关系的最强大的方式之一。观察者模式包括一个发布已发生事件的模块以及响应该事件的另一模块的若干个的实例。它和直接调 用第二个模块的方法不同,因为第一个模块不需要关注有多少个观察者,从而实现观察者和被观察者之间更加完全的抽象关系。
手动广播者和监听者
手动的方式需要广播者保有一个监听者的数组(NSArray)或集合(NSSet)。在需要通知监听者一个事件的合适时机广播者直接调用各个监听者上相关方法。
在广播者类上你可能需要一个NSMutableArray、NSSet或NSMutableDictionary。NSMutableDictionary比较适合将事件标识符的类型作为每个监听者的键值。在广播者上你还需要有监听者注册和取消注册的方法。
给NSArray或NSSet中的每个对象方式消息的方法很简单,如下:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询