2009-12-09 4 views
2

아래 열거자를 사용하여 fastEnumeration을 사용하여 누락 된 문제가 있습니까? 난 단지 코드 예제 (온라인 & 도서)로 항상 whileLoop을 사용하는 것 같습니다. 잠재적 인 문제가 누락 된 경우 sniped 코드가 제대로 작동하고 궁금합니다. 오류 검사가없는 테스트 일뿐입니다.빠른 열거 형 enumeratorAtPath?

NSDirectoryEnumerator *dirEnum; 
NSString *eachPath; 

dirEnum = [fileManager enumeratorAtPath:sourceDir]; 
for(eachPath in dirEnum) NSLog(@"FILE: %@", eachPath); 

게리

답변

2

예제에서는 빠른 열거 구문이 언어에 최근에 추가 되었기 때문에 while 루프를 사용합니다. in 키워드 뒤에 오는 객체가 NSFastEnumeration 프로토콜을 준수하는 한 코드는 문제가 없습니다.

실제로는 NSEnumerator의 기본 구현이 -nextObject으로 떨어지기 때문에 어느 정도 눈에 띄는 속도 차이는 없을 것입니다.

+0

아하이, 감사합니다. – fuzzygoat

0

는 종종 어떤 NSEnumerator 객체 또는 서브 클래스 (NSDirectoryEnumerator) 개체에 대한 빠른 열거를 사용할 수 있습니다 언급되지는 않지만.