gpt4 book ai didi

java - 来自 Java 开发人员 POV 的 iOS 委托(delegate)

转载 作者:可可西里 更新时间:2023-11-01 05:04:50 25 4
gpt4 key购买 nike

我从事 Java 开发已有多年,大约一年前转向 Android 开发。在解决了 Android 问题之后,我尝试用 iOS 测试一下自己的运气。到目前为止一切顺利,但我对“委托(delegate)”的想法仍然很模糊。我在这里阅读了几篇文章,但仍然没有最好的主意。在我看来,它们似乎类似于 Java 中的继承,例如使用接口(interface)或抽象类。

谁能以我可能理解的观点澄清一下?

提前致谢。

最佳答案

不,这不是继承的同一个概念。

我会说这就像 AWT/Swing 中使用的监听器方法。例如:

class MyActionListener implements ActionListener {
public void actionPerformed(ActionEvent e) { ... }
}

myComponent.addActionListener(new MyActionListener);

在 ObjC 中使用委托(delegate)方法看起来像:

@class MyActionListener : NSObject<NSActionListener>

-(void) actionPerformed:(NSEvent*)event;

@end

myComponent.delegate = [[[MyActionListener alloc] init] autorelease];

在实践中,您委托(delegate)一个类的一些行为给组合使用的特定其他对象(而不是继承),以便在需要时调用委托(delegate)方法(用于回调,要么提供具体的实现等等)

关于java - 来自 Java 开发人员 POV 的 iOS 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10032666/

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