objective-c - nullability - objective c optional property




ios가 중첩 루프를 중단합니다. (2)

이것은 goto 가 당신의 친구 인 곳입니다. 그래, 그거.

while(alwaysTrue) {
    for(NSArray *arr in twoThousandItems) {
        if(IFoundWhatIWasLookingFor) {
            // assign some stuff here
            // break everything, not just the for loop.
            goto BAIL;
        }
    }
}
BAIL:
NSLog(@"Freedom!");

다른 옵션은 루프에 단락 회로를 설치하는 것입니다.

while(alwaysTrue && !found) {
    for(NSArray *arr in twoThousandItems) {
        if(IFoundWhatIWasLookingFor) {
            // assign some stuff here
            // break everything, not just the for loop.
            found = YES;
            break;
        }
    }
}

While 루프 안에 while 루프가있는 while 루프가 있다면 두 루프를 모두 어떻게 break 수 있습니까?

나는 내가 원하는 것을 찾은 후에이 루프를 완료하지 못하여 얻는 여분의 250ms가 잠시 후에 가치있게되기 때문에이 작업을 수행하고 있습니다.

의사 코드 :

while(alwaysTrue) {
    for(NSArray *arr in twoThousandItems) {
        if(IFoundWhatIWasLookingFor) {
            // assign some stuff here
            // break everything, not just the for loop.
        }
    }
}

이것은 한 가지 방법입니다. 이것은 다른 C 변형 및 다른 언어에도 적용 가능한 기술입니다.

bool breakOuterLoop = false;
while(!breakOuterLoop)
{
    for(NSArray *arr in twoThousandItems)
    {
        if(IFoundWhatIWasLookingFor)
        {
            // assign some stuff here
            breakOuterLoop = true;
            break;
        }
    }
}






objective-c