ProgramingTip

NSArray를 반복하는 쉬운 방법이 거꾸로?

bestdevel 2020. 11. 9. 20:28
반응형

NSArray를 반복하는 쉬운 방법이 거꾸로?


나는을 가지고 NSArray있고 특별한 경우에 거꾸로 반복해야한다. 그래서 나는 먼저 마지막 요소를 본다. 성능상의 이유 때문입니다. 마지막 항목이 의미가 다음 항목은 모두 무시할 수 있습니다. 그래서 루프를 깨고 싶습니다. 그러나 0에서 계속 반복하면 작동하지 않습니다. n에서 0으로 이동해야합니다. 내가 모르는 방법 나 함수가 여기서 바퀴를 다시 만들 필요가 없습니다.


다른 답변을 추가 비용 청구 -[NSArray reverseObjectEnumerator]Objective-C 2.0 (Leopard, iPhone에서 사용 가능)의 빠른 열거과 함께 사용할 수 있습니다.

for (id someObject in [myArray reverseObjectEnumerator])
{
    // print some info
    NSLog([someObject description]);
}

더 많은 정보가있는 출처 : http://cocoawithlove.com/2008/05/fast-enumeration-clarifications.html


이것이 성능을위한 것 실행 옵션이 즉 가장 잘 작동하는지 확인하기 위해 시도하는 것이 좋습니다.

보다 극단적 인 방법 (성능이 매우 중요한 경우)

  • Cocoa가 어떻게 수행하는 것으로부터 구현하고 그에 대한 것입니다.
  • C 또는 C ++ 배열을 사용하십시오.

다른 것이 가능합니다. 이 경우 누구나 자유롭게 추가 할 수 있습니다.


에서 여기 :

 NSEnumerator* myIterator = [myArray reverseObjectEnumerator];
 id anObject;

 while( anObject = [myIterator nextObject])
 {
     /* do something useful with anObject */
 }

[NsArray reverseObjectEnumerator]

for (int i = ((int)[array count] - 1); i > -1; i--) {
    NSLog(@"element: %@",array[i]);
}

참고 URL : https://stackoverflow.com/questions/844189/is-there-an-easy-way-to-iterate-over-an-nsarray-backwards

반응형