gpt4 book ai didi

iphone - 如何在Objective-C中实现多级委托(delegate)

转载 作者:可可西里 更新时间:2023-11-01 06:22:19 25 4
gpt4 key购买 nike

我有 4 个类( View ):
A、B、C、D

A类调用B,B类调用C,C类调用D:
A > B > C > D

在 D 类中,我实现了一个委托(delegate)协议(protocol),我想在 A 类中捕获委托(delegate)事件。

我怎样才能做到这一点?

最佳答案

您可以通过多种方式实现这一目标。什么对你的情况最好取决于具体情况。以下是一些想法:

  1. 您可以在所有这些类中实现委托(delegate)协议(protocol),然后简单地将其传递给下行。
  2. 您可以添加一个 ivar 以从 A 访问类 D 并直接传递它(spaghetti code 的危险!)
  3. 如果可能的话,您可以更改您的实现,以便您只在 A 中实现委托(delegate)并在那里处理它。
  4. 最后的手段可能是使用 NSNotifications(不要与 Mountain Lion 中的 NSUserNotifications 混淆)。在您的 A 类中,您将通知发布到默认通知中心,而在 D 类中,您注册此通知并根据需要进行处理。只有在其他方法都不起作用时才使用这种方法,因为这可能会导致更糟糕的代码。

关于iphone - 如何在Objective-C中实现多级委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11969088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com