繁体   English   中英

For循环和if语句

[英]For loop and if statement

我正在使用以下for循环:

for (int intPrjName = 0; intPrjName < [arrPrjName count]; intPrjName++)

我在for循环下有一个if / else语句,其中else块显示了一条警告消息。 假设数组计数为10; 然后, if失败,则else块将执行十次,并且警告消息将显示十次。 如何停用此功能?

您的问题是一般的编程问题。 最简单的方法是仅使用BOOL标志。

BOOL alertShown = NO;
for (int intPrjName = 0; intPrjName < [arrPrjName count]; intPrjName++) {
    if (something) {
        // . . .
    } else {
        if (!alertShown) {
            [self showAlert:intPrjName]; // Or something
            alertShown = YES;
        }
    }
}

如果您只想在发生故障的情况下仅显示一个警报,则可能意味着您不想继续循环。 因此,正如Jason Coco在他的评论中提到的那样,您break了循环。 这是有关如何执行此操作的简单示例:

for (int intPrjName = 0; intPrjName < [arrPrjName count]; intPrjName++) {
   if (condition) {
      // do something
   } else {
      break;
   }
}

否则,如果您要检查阵列中每个元素的某些状况,则可能要跟踪失败并向用户显示摘要(可能是警报消息,其他视图等)。 简短示例:

NSUInteger numFailures = 0;

for (int intPrjName = 0; intPrjName < [arrPrjName count]; intPrjName++) {
   if (condition) {
      // do something
   } else {
      numFailures++;
   }
}

UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:title
                  message:@"Operation failed: %d", numFailures
                  delegate:nil
                  cancelButtonTitle:@"OK"
                  otherButtonTitles:nil] autorelease];
[alert show];

祝好运!

假设C是一个数组,其中n是一个int或NSNumber类型的等级转换为int

for(n in C){

如果{n等于10)

做东西 }

else {doOtherStuff}}

}

关于这种方法的好处是,您可以设置数组的大小。

查看Enumeration Glass的文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM