A break;
во внутреннем цикле возобновляет внешний цикл сразу после внутреннего цикла.
for (NSString *link in pageLinks)
{
for (NSString *pattern in disallowedPattern)
{
if (range.location != NSNotFound)
break;
}
...execution continues here after break is executed...
}
В комментарии скрывается вопрос:
Это как раз другая проблема, с которой я столкнулся; [Я хочу пропустить] 'что-то' после второго цикла for; Есть ли какое-то решение этого снова?
Надеюсь, я правильно понял. По крайней мере, есть две возможности. То, что вы выберете, отчасти зависит от вашего отношения к goto
заявлениям.
Либо (с goto
)
for (NSString *link in pageLinks)
{
for (NSString *pattern in disallowedPattern)
{
if (range.location != NSNotFound)
goto end_of_outer_loop;
}
...other code to be executed if the loop terminates...
end_of_outer_loop: ; // Null statement after the colon
}
или (без goto
)
for (NSString *link in pageLinks)
{
bool found = false;
for (NSString *pattern in disallowedPattern)
{
if (range.location != NSNotFound)
{
found = true;
break;
}
}
if (!found)
{
...other code to be executed if the loop terminates...
}
}
Обе работы; оба достаточно ясны. Это в основном дело вкуса, который вы выбираете.