【发布时间】:2019-10-08 04:38:42
【问题描述】:
我可以在 UIButton 上为同一个事件添加多个目标操作,如下所示?
[button addTarget:self action:@selector(xxx) forControlEvents:UIControlEventTouchUpInside];
[button addTarget:object action:@selector(yyy) forControlEvents:UIControlEventTouchUpInside];
我做了一个快速应用来测试它,它执行按钮按下的两个动作。
我想知道这样做是否是一种好习惯,并且执行顺序是否始终保持不变?
提前致谢。
编辑:我确实找到了这个post,它声明它是以相反的添加顺序调用的,即首先调用最近添加的目标。但尚未确认
【问题讨论】:
-
这是否是“一个好的做法”在很大程度上取决于意见。该文档没有对订单提出任何要求,因此我不会指望订单。事实上,我会假设执行顺序是随机的。
-
如果顺序很重要,请使用单个操作处理程序,并在该处理程序中按所需顺序执行任务。
-
@bsod 这是一个很好的解决方案,我已经想到了,但是我如何将目标(
self除外)和选择器传递给操作处理程序?
标签: ios objective-c uibutton