在函数中检测break语句?

用户4992124

我有以下功能:

- (void)doStuff {
    BOOL allDoneNow = NO;
    for (int i = 0; i < [arABFBmatches count]; i++) {
        for (int j = 0; j < [arABFBmatches count]; j++) {
            if (should_skip_rest) {
                allDoneNow = YES;
                break;
            }
        }
        if (allDoneNow) break;
    }
}

现在,如果我使用调用该方法[self doStuff];,如何检测该函数是否损坏?还是有更好的方法来停止并重新开始执行函数?

阿敏·内格姆·阿瓦德(Amin Negm-Awad)
- (BOOL)doStuff // <- return a boolean value
{
  for (int i = 0; i < [arABFBmatches count]; i++) 
  {
    for (int j = 0; j < [arABFBmatches count]; j++) 
    {
      if (should_skip_rest) 
      {
        return NO;   // <- NO for break
      }
    }
  }
  return YES; // <- YES for completed
}

这使函数的执行停止。如果要重新启动它,只需在while循环中调用它即可

while( (doStuff()==NO) && thereShouldBeAnotherConditionForStopping )
{
  // Do something after each attempt, otherwise it seems to be a little bit silly
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章