2011-09-19 6 views
23

Objective-C를 연구 중이며 "for ... in"문을 발견했습니다. 나는 그것을 찾았지만 나는 아직도 그것이 어떻게 작동하는지 알지 못한다. 누군가가이 문장이 어떻게 작동하는지 멍청한 마음으로 나에게 설명 할 수 있을까요?... for 문 내 Objective-C

+1

당신은 보이지 않는 의미, 또는 당신이 그것을 어떻게 사용? –

+0

"빠른 열거 대상 c"를 검색하면 많은 것을 찾을 수 있습니다. – progrmr

답변

49

fast enumeration documentation을 참조하십시오.

기본적으로 배열이 있고, NSEnumerator 또는 정수 개수 변수 대신 편리한 루프를 사용하여 배열의 각 항목을 얻을 수 있습니다. 루프의 각 단계마다 objectAtIndex을 사용하여 변수에 할당하지 않고 배열의 각 NSString을 요청하는 코드를 훨씬 더 명확하게 만듭니다.

비교 :

for (NSString *string in myArray) 
{ 
    // do stuff... 
} 

에 :

for (int i = 0; i < [myArray count]; i++) 
{ 
    NSString *string = [myArray objectAtIndex:i]; 
    // Do stuff... 
} 
+0

더 빨라 졌을뿐 아니라 빠릅니다. 이것을 "빠른 열거"라고 부르는 이유가 있습니다. – zneak

+2

더 빠르고, 더 안전하고, 재미 있습니다 ... 좋아, 어쩌면 마지막 것 같지 않습니다. – jrturton

+1

대단히 감사합니다! 그러나 나는 여전히 "문자열"부분의 특정 기능이 무엇인지 이해하지 못합니다. 문자열 외에 배열에 다른 객체가 있다면 어떻게 작동합니까? 그것은 여전히 ​​모든 개체를 통해 열거하거나 문자열이 아닌 내용을 건너 뛰겠습니까? –