禁用某个ObjectiveC任务?

时间:2013-12-25 09:38:32

标签: ios iphone objective-c delegates

首先,一些术语澄清:

在ObjectiveC中,“事件处理程序”是通过代理定义的。代表可能有多个任务,这个命名方案对吗?

现在的实际问题是:如果一个委托有例如6个任务,我是否可以在运行时禁用其中一个被调用的任务而不需要取消整个委托?

我有一个每秒调用30次左右的任务,除非明确要求,否则要禁用它。我没有对它进行基准测试,也许它没有消耗尽可能多的CPU,但无论如何,我的问题仍然只是为了满足我的好奇心。

提前致谢。

1 个答案:

答案 0 :(得分:0)

代表是任何行动的必要组成部分,并在需要时添加。如果您尚未实现特定的委托方法,则不会调用它。如果在没有代码的情况下实现它将需要一个CPU周期,因此它不会产生CPU开销,因此不需要显式禁用任何委托。

如果您不需要,只需在您的类中不实现该委托方法。只实现您需要的方法并在其中包含代码。