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

时间:2018-05-09 14:09:39

标签: ios swift selector uicontrol

我是UIControl的子类,因为我想将视图控制器设置为目标,我发现了sendAction方法。我无法弄清楚两种方法之间的差异以及它们各自的用法何时更合适。

2 个答案:

答案 0 :(得分:2)

不同之处在于sendAction(_:to:for:)实际上调用立即定义选择器,而addTarget(_:action:for:)关联目标和操作与控件和只在事件发生时调用选择器。

答案 1 :(得分:1)

您使用sendAction:to:forEvent:来模拟实际的,引擎盖下的系统调用。即:模拟用户实际点击UIButtonUIControl)并将UIControlEvents touchUpInside发送到目标。我以前从未使用过它。

addTarget:action:forControlEvents:映射选择器UIControlEvent和目标,以便稍后使用,例如当用户点按UIButton时。