for 循环嵌套 while 的神奇问题

来源:互联网 发布:信捷触摸屏软件 编辑:程序博客网 时间:2024/05/22 16:43

在Xcode7中写了一段OC代码,在一个for循环中嵌套了一个while循环。因为for循环中有一个异步执行,我想等异步执行完,再执行下一个for循环,所以用while循环做了一个等待。

代码如下:

BOOL flag = NO;for (id obj in array) {    // 执行异步方法, 执行完后设置flag=YES;    ......    while(true) {         if (flag)             break;    }}

我原以为break,只能跳出最近的一个循环,也就是只跳出while循环。

结果发现了一个神奇的问题:

在debug模式下,确实跟我的预期一样,只跳出了while循环,然后进入下一个for循环。

但是!!!当我切换到release模式下,break跳出了for循环!!!


我在build setting里,大概对比了release模式及debug模式的设置,没发现跟这种编译相关的不同选项。

不知哪位大神能解答我疑惑???我会继续跟进,看看什么到底是什么原因。

0 0
原创粉丝点击