Xcode:如何从对象中删除动作?

时间:2011-09-08 23:55:25

标签: objective-c cocoa-touch uibutton target-action

我需要从对象中删除一个动作然后再添加一个动作。

我已使用此代码添加新操作:

[Button addTarget:self action:@selector(newAction:) forControlEvents:UIControlEventTouchUpInside];

然后我尝试使用此代码删除旧操作:

[Button removeTarget:self action:@selector(oldAction:) forControlEvents:UIControlEventTouchUpInside];

问题在于它以某种方式也删除了newAction。

有什么想法吗?

提前致谢:)

2 个答案:

答案 0 :(得分:5)

在这种情况下,一个简单的解决方案是在添加新操作之前先删除旧操作。也就是说反过来。

您也可以通过nil传递目标来删除所有操作。

答案 1 :(得分:1)

您可以从UIButton中移除操作,例如:

[self.myButton removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents];