我有一个包含一些文本字段的ViewController。如果这些文本字段为空并且用户想要点击“保存”按钮,则我不希望用户能够保存。我希望他们退出IBAction,没有什么可以保存的。我该怎么做呢?
- (IBAction)save:(id)sender {
if ([personYouOweMoney.text isEqualToString: @" "] && [amtYouOwe.text isEqualToString:@" "])
{
//GET OUTTA THIS DANG IBACTION
}
答案 0 :(得分:3)
我希望他们退出IBAction,没有什么可以保存的。
您可以通过检查条件并返回来执行此操作,如下所示:
if (/*all fields are empty*/) {
return;
}
然而,从用户界面设计的角度来看,这是一件错误的事情。您的最终用户会认为发生了某些事情,因为他们可以点击按钮。更好的方法是在所有输入字段为空时禁用[Save]
按钮,并仅在有要保存的内容时重新启用它。对于系统没有保存的原因,最终用户的想法不会产生歧义,因为他们会知道在输入内容之前保存是不可能的(如果从上下文中不明显,请考虑在此处添加消息在您的禁用按钮旁边。)
答案 1 :(得分:1)
IBAction与void是一回事(除了Xcode知道它应该连接到Interface Builder中的一个动作)。
要退出方法,只需使用return,就像退出任何其他void方法一样:
return;