0

我是一名Android开发人员,目前我正在学习iOS开发。并且对目标动作模式感到困惑。在android中,如果我想在单击按钮时获得回调,我可以这样做:

btn.setOnClickListener(myOnClickListener);

就像iOS中的delegate-pattern,但是为什么Apple会为gestureReconginer事件句柄选择target-action模式呢?</p>

对不起,我的英语水平很差,提前谢谢你们。

4

1 回答 1

0

使用 target-action,您将一个实例的一种方法 (=target) 分配给一个事件 (=action),而委托将一个实现专用协议(相当于 Java 接口)的实例分配给一个事件源,然后调用(也许多个)该协议实现实例的方法。

除了 Apple 的软件设计师/架构师之外,我不确定任何人都可以回答他们为什么这样做。尽管如此,target-action 有可能转移到闭包语法中。

于 2017-01-14T15:16:59.827 回答