[英]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.