首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Selector方法必须与观察者所在的实例相同吗?

Selector方法不一定必须与观察者所在的实例相同。在编程中,Selector方法是用于选择特定事件或条件的回调函数。它通常用于观察者模式中,当被观察的对象发生变化时,观察者会通过Selector方法进行相应的处理。

在某些情况下,Selector方法可能需要与观察者所在的实例相同,以便能够访问观察者的属性和方法。这种情况下,Selector方法通常作为观察者的成员函数定义,并通过实例调用。

然而,在其他情况下,Selector方法可以是独立的函数,不需要与观察者实例相同。这种情况下,观察者可以将Selector方法作为参数传递给被观察对象,以便在事件发生时调用。这种设计模式称为回调函数。

总结起来,Selector方法是否需要与观察者所在的实例相同取决于具体的编程实现和设计需求。在某些情况下,需要与观察者实例相同以便访问观察者的属性和方法,而在其他情况下,可以是独立的函数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 浅谈 iOS NSNotification

    NSNotificationCenter 就相当于一个广播站,使用 [NSNotificationCenter defaultCenter] 来获取,NSNotificationCenter 实际上是 iOS 程序内部之间的一种消息广播机制,主要为了解决应用程序内部不同对象之间解耦而设计。 NSNotificationCenter 是整个通知机制的关键所在,它管理着监听者的注册和注销,通知的发送和接收。NSNotificationCenter 维护着一个通知的分发表,把所有通知发送者发送的通知,转发给对应的监听者们。每一个 iOS 程序都有一个唯一的通知中心,不必自己去创建一个,它是一个单例,通过 [NSNotificationCenter defaultCenter] 方法获取。 NSNotificationCenter 是基于观察者模式设计的,不能跨应用程序进程通信,当 NSNotificationCenter 接收到消息之后会根据内部的消息转发表,将消息发送给订阅者;它可以向应用任何地方发送和接收通知。 在 NSNotificationCenter 注册观察者,发送者使用通知中心广播时,以 NSNotification 的 name 和 object 来确定需要发送给哪个观察者。为保证观察者能接收到通知,所以应先向通知中心注册观察者,接着再发送通知这样才能在通知中心调度表中查找到相应观察者进行通知。

    03

    在王者荣耀角度下分析面向对象程序设计B中23种设计模式之观察者模式

    王者荣耀是一款5v5的团队竞技游戏,在一局游戏当中,必要的系统提示有利于玩家对实时的战况有更好地把握。比如,当游戏开局时,系统会提示“敌军还有5秒到达战场,请做好准备”;当有英雄被击杀时或者敌我双方防御塔被摧毁时,我方队友和敌方收到的系统提示是不同的。 于是,此类问题就可以用观察者模式很好的实现当防御塔被摧毁后敌我双方英雄分别收到不同的消息的结果。这里再简单描述一下这个具体问题:当敌方高低防御塔被我方娜可露露摧毁时,我方全部队友收到系统提示消息“(娜可露露)摧毁敌方防御塔”,而敌方英雄收到的则是“(娜可露露)摧毁我方防御塔”。

    02

    在王者荣耀角度下分析面向对象程序设计B中23种设计模式之观察者模式

    王者荣耀是一款5v5的团队竞技游戏,在一局游戏当中,必要的系统提示有利于玩家对实时的战况有更好地把握。比如,当游戏开局时,系统会提示“敌军还有5秒到达战场,请做好准备”;当有英雄被击杀时或者敌我双方防御塔被摧毁时,我方队友和敌方收到的系统提示是不同的。 于是,此类问题就可以用观察者模式很好的实现当防御塔被摧毁后敌我双方英雄分别收到不同的消息的结果。这里再简单描述一下这个具体问题:当敌方高低防御塔被我方娜可露露摧毁时,我方全部队友收到系统提示消息“(娜可露露)摧毁敌方防御塔”,而敌方英雄收到的则是“(娜可露露)摧毁我方防御塔”。

    00
    领券