[iOS] NSArray Enumeration
NSArray 혹은 NSMutableArray를 순차탐색(Enumeration) 하기 위한 3가지 방법 메모.
1. objectAtIndex
2. NSEnumerator
3. for ... in ...
여기까지.
1. objectAtIndex
for (int i=0; i < [someArray count]; i++) { SomeObject* obj = [someArray objectAtIndex:i]; ... }C의 array나 Python의 리스트 처럼 특정 순번의 엘리먼트를 엑세스 하는 방법을 이용하는 기본적인 방법. 매우 C 스러운 방법 이기도 하기에 직관적이긴 하다. 역순으로 돌아다니려면 그냥 for 루프의 인덱스를 뒤집으면 끝.
2. NSEnumerator
NSEnumerator* e = [someArray objectEnumerator]; while ((SomeObject* obj = [someArray nextObject])) { ... }C++ 스러운 스타일의 NSEnumerator를 이용한 순차적 접근법. someArray의 objectEnumerator 대신
reverseObjectEnumerator
를 이용해 역순 탐색도 가능하다.3. for ... in ...
for (SomeObject* obj in someArray) { ... }이것은..!! Python 스러운 코드다! 게다가 굉장히 간단해!!! 사랑스럽고도 가독성도 좋은 코드다! ... 하지만 역순 탐색은 못 할 것 같은데... (' - ')?
여기까지.
댓글