如何打破IBAction?

时间:2014-02-10 03:15:55

标签: ios objective-c xcode uitextfield

我有一个包含一些文本字段的ViewController。如果这些文本字段为空并且用户想要点击“保存”按钮,则我不希望用户能够保存。我希望他们退出IBAction,没有什么可以保存的。我该怎么做呢?

- (IBAction)save:(id)sender {

if ([personYouOweMoney.text isEqualToString: @" "] && [amtYouOwe.text isEqualToString:@" "])
{
    //GET OUTTA THIS DANG IBACTION
}

2 个答案:

答案 0 :(得分:3)

  

我希望他们退出IBAction,没有什么可以保存的。

您可以通过检查条件并返回来执行此操作,如下所示:

if (/*all fields are empty*/) {
    return;
}

然而,从用户界面设计的角度来看,这是一件错误的事情。您的最终用户会认为发生了某些事情,因为他们可以点击按钮。更好的方法是在所有输入字段为空时禁用[Save]按钮,并仅在有要保存的内容时重新启用它。对于系统没有保存的原因,最终用户的想法不会产生歧义,因为他们会知道在输入内容之前保存是不可能的(如果从上下文中不明显,请考虑在此处添加消息在您的禁用按钮旁边。)

答案 1 :(得分:1)

IBAction与void是一回事(除了Xcode知道它应该连接到Interface Builder中的一个动作)。

要退出方法,只需使用return,就像退出任何其他void方法一样:

return;