Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 循环不';直到休息才结束_Objective C_Xcode_Loops - Fatal编程技术网

Objective c 循环不';直到休息才结束

Objective c 循环不';直到休息才结束,objective-c,xcode,loops,Objective C,Xcode,Loops,我正在尝试创建一个循环,然后继续接受输入,直到输入发出中断循环的命令。我现在做的有点像这样: int start = 1; while (start == 1) { //Program statement } while(true) { if( exit_condition) { break; } } 然而,我觉得似乎有一种更简单、更有效的方法来创建一个循环,该循环将重复,直到用户发出停止它的命令。这样的事情存在吗?你应该这样做: int

我正在尝试创建一个循环,然后继续接受输入,直到输入发出中断循环的命令。我现在做的有点像这样:

int start = 1;

while (start == 1) {

   //Program statement

}
while(true)
{
    if( exit_condition)
    {
        break;
    }
}

然而,我觉得似乎有一种更简单、更有效的方法来创建一个循环,该循环将重复,直到用户发出停止它的命令。这样的事情存在吗?

你应该这样做:

int start = 1;

while (start == 1) {

   //Program statement

}
while(true)
{
    if( exit_condition)
    {
        break;
    }
}

任何像for、while、甚至goto这样的循环都可以完成这项工作。如果在循环中放入一个条件而不是“true”,则可以减少代码,而不需要使用“break”语句。

在C和其他类似C的语言(包括Objective-C)中表示“forever”循环的一个常见习惯用法是使用空的
for

for(;;) {
    // statements
}

这正是我所拥有的,除非true是一个有效的未声明的条件do{userInput=readUserInput()},而(user\u input!=exit\u condition)则可以工作,这正是我想要的!谢谢
,而(1)
也很常见。@rickster是真的,尽管在K&R(第二版第54页顶部)中建议了(;)的
。现在的方法很好,不过通常会调用变量
continue
,或者
stop
,并反转测试:
BOOL stop=NO;而(!stop){/…}