2013-07-04 4 views
0

For 루프를 더 빨리 실행하고 싶지만 Fast Enumeration에 대한 아이디어가 없습니다. 어느 누구도 For 루프를 변경하는 방법을 제안 할 수 있습니까 fast enumeration.Fast Enumeration에서이 루프를 변경하는 방법

NSString *strCorrectWord; 
    for(i=0;i<[self.strCorrectWord length];i++) 
    { 


    } 

답변

0

- 각 문자열에 대한 우리의 빠른 열거를 구현 한 후 문자열있는 NSArray가있는 경우> 빠른 열거 예를 들어 목표 C에서 수집을 통해 이루어집니다 같은 루프의 경우 : -

for(NSString *str in NSArray object) 
{ 
    statement; 
} 
+0

Hello Ravi는 도움을 주셔서 감사하지만 .....이 진술은 작동하지 않습니다 ..... – user2497862

+0

예상 오류 '예상' 'for'문 지정자 – user2497862

+0

이 잘못된 구문인데 내 대답이 바뀌 었습니다 !!! –

0

NSStringNSFastEnumeration을 구현하지 않으므로 루프를 더 빠르게 만들 수있는 대체 구문이 실제로 없다는 것을 의미합니다 (아마도 here을 언급 한 것 제외).

성능 병목 현상은 루프 자체의 메커니즘보다는 루프 반복마다 실행되는 코드가 될 가능성이 높지만 질문에 포함시키지 않았습니다.

빠른 열거 형은 단순히 컬렉션을 통해 열거하는 데 사용되는 느린 메서드를 대신하는 것입니다.

0

NSString *strCorrectWord = @"Test"; 

NSRange range = NSMakeRange(0, strCorrectWord.length); 

[strCorrectWord enumerateSubstringsInRange:range options:NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) { 

    //Substring is each char 
    NSLog(@"%@", substring); 
}]; 

가 블록으로 열거 주어진 문자열의 각 문자를 통해 루프를 원하는 경우 대부분의 시간 빠른 솔루션입니다. 이 옵션을 사용하여 모든 문자 또는 모든 단어의 하위 문자열을 제공하도록 변경할 수 있습니다.

+0

@ user2497862이 기능을 사용하셨습니까? –

+0

@ user2497862 도움이 되었다면 대답을 수락하십시오. –