Objective c 基于方法中的条件终止执行的首选方法

Objective c 基于方法中的条件终止执行的首选方法,objective-c,Objective C,我是iOS新手,仍然在学习正确的做事方法。另一个刚刚浮现的问题是,我如何停止基于条件的方法执行并返回调用代码?通常在PHP中,我只返回true/false,或者抛出异常,而不是将大量代码块塞进嵌套条件中,但在iOS中,我不允许从带有iAction返回签名的方法返回 处理这种情况的首选方法是什么 - (IBAction)submitCode:(id)sender { if ([codeEntry.text length] == 0) { UIAlertView *mess

我是iOS新手,仍然在学习正确的做事方法。另一个刚刚浮现的问题是,我如何停止基于条件的方法执行并返回调用代码?通常在PHP中,我只返回
true
/
false
,或者抛出异常,而不是将大量代码块塞进嵌套条件中,但在iOS中,我不允许从带有iAction返回签名的方法返回

处理这种情况的首选方法是什么

- (IBAction)submitCode:(id)sender
{
    if ([codeEntry.text length] == 0) {

        UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Form Validation"                                                         message:@"No code entered, please try again."
            delegate:nil
            cancelButtonTitle:@"OK"
            otherButtonTitles:nil];

            [message show];

        // IOS not allowing this
        return NO;
    }

    // Prefer not to wrap the rest of the logic in an else, rather just cease
    // execution and return back to calling code

    NSLog(@"I would have submitted!");
}
只用

return;
这将停止当前方法的执行


由于
iAction
被秘密地
typdef
设置为
void
,因此您不能返回任何内容。什么都不是什么都不是,所以只需使用
return
您需要调用
返回,不
返回否


iAction
实际上是
void
。这意味着该方法没有返回值。

Ahhh这很有意义。尽量避免空返回,但我想在这种情况下必须这样做。另一个快速的问题是,是否首选返回TRUE/FALSE或YES/NO?这取决于方法的返回类型。如果是
BOOL
,则使用
YES/NO
。明白了。谢谢你的帮助。@rmaddy我都看过了。我打赌编译器只是将TRUE/FALSE更改为YES/NO。您可能已经看到了这两个选项,但这并不意味着它是正确的
BOOL
用于
YES/NO
。您可以使用其他值,但这并不意味着使用其他值是正确的。