Ios addTarget(:action:for:)和sendAction(:to:for:)UIControl实例方法之间有什么区别?

Ios addTarget(:action:for:)和sendAction(:to:for:)UIControl实例方法之间有什么区别?,ios,swift,selector,uicontrol,Ios,Swift,Selector,Uicontrol,我正在子类化UIControl,当我想将我的视图控制器设置为目标时,我发现了sendAction方法。我真的不知道这两种方法之间的区别以及它们各自的用法何时更合适。区别在于实际上立即调用定义的选择器,而只有将目标和操作与控件关联,并且仅在事件发生时调用选择器。您可以使用sendAction:to:forEvent:模拟实际的引擎盖下系统调用。ie:模拟用户实际点击ui按钮(aUIControl)并将UIControl事件触碰内部发送到目标。我个人以前从未使用过它 addTarget:action

我正在子类化
UIControl
,当我想将我的视图控制器设置为目标时,我发现了sendAction方法。我真的不知道这两种方法之间的区别以及它们各自的用法何时更合适。

区别在于实际上立即调用定义的选择器,而只有将目标和操作与控件关联,并且仅在事件发生时调用选择器。

您可以使用
sendAction:to:forEvent:
模拟实际的引擎盖下系统调用。ie:模拟用户实际点击
ui按钮
(a
UIControl
)并将
UIControl事件
触碰内部
发送到目标。我个人以前从未使用过它


addTarget:action:forControlEvents:
映射选择器、
UIControl事件
和目标,以便在以后使用,例如当用户点击
ui按钮时,换句话说,
UIControl
子类的实现调用
sendAction
通知任何侦听事件的人。自定义控件的用户调用
addTarget
。自定义控件实现将不使用
addTarget
,仅使用
sendAction