for 循环嵌套 while 的神奇问题

在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模式的设置,没发现跟这种编译相关的不同选项。

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值