我是Android开发人员,目前我正在学习iOS开发。并且对target-action模式感到困惑。 在android中如果我想在点击按钮时获得回调,我可以这样做:
btn.setOnClickListener(myOnClickListener);
它就像iOS中的委托模式一样,但为什么Apple为gestureReconginer事件句柄选择目标动作模式?
抱歉我英语能力差,请提前谢谢你们。
答案 0 :(得分:0)
使用target-action,将一个实例(= target)的一个方法分配给一个事件(= action),而委托会将一个实现专用协议(相当于Java接口)的实例分配给一个事件源,然后调用该协议实现实例的(可能是多个)方法。
我不确定是否有人可以回答为什么他们这样做,除了Apple的软件设计师/架构师。然而,目标行动有可能转移到闭包语法。