如何使用if语句移动到代码的另一部分

时间:2015-02-17 22:59:25

标签: objective-c

在我的代码中,我有以下if语句:

if (a.count >= 2) {
    t2 = array[b % a.count];
    array[0] = t2;
}

我有另一个if语句,就像第一个一样。我想要它做的是如果< = 0然后转到某一行,或跳过代码的某些部分。我该怎么做?

我正在思考一些事情
 if (a.count <= 0) {
    goto line 96 
 }

这不会起作用,语法错误,但我该怎么办呢?

3 个答案:

答案 0 :(得分:1)

Goto语句通常被认为是错误的编程,过度使用它们会导致代码难以维护和调试。

那就是说,如果/ else / else提供了你需要的所有功能。

我建议在if语句中使用if语句在if语句中运行所需的代码,然后从if语句中调用它。

if (a.count <= 0) {
    nameOfNewMethod();
}

//somewhere else
- (void) nameOfNewMethod {
    //code here
}

答案 1 :(得分:0)

把你想要的代码行放到&#34;转到&#34;在函数中(或者,如果适当的话,一个块)并调用函数(或块)。如果您想跳过哪些代码行,您可以提前退出函数,或使用else块?

答案 2 :(得分:0)

在Objective-C中实际上有一个goto命令。要使用它,您必须创建一个标签,例如:

marker:

并在同一方法中跳转到它:

goto marker;

但是你不能在这两个命令之间声明任何变量。所有变量都必须在跳转之前创建,以便它们在之后仍然存在。

以下是如何使用goto

的示例
    int x = 0;

    if (a.count <= 0) {
        goto marker; 
    }

    x = 5;

marker:; // <-- semi-colon indicates the label is followed by an empty statement, thus allowing for immediate variable declaration

    int y = x + 7;

在这种情况下,如果a.count <= 0,y == 7,否则y == 12.