我有一个NSArray
,必须在一个特殊情况下向后迭代,这样我首先看最后一个元素.这是出于性能方面的原因:如果最后一个根本没有意义,那么之前所有的都可以忽略.所以我想打破这个循环.但是如果我从0向前迭代到n,那就行不通了.我需要从n向前迭代到0.也许有一种方法或功能我不知道,所以我不必在这里重新发明轮子.
我有一个NSArray
,必须在一个特殊情况下向后迭代,这样我首先看最后一个元素.这是出于性能方面的原因:如果最后一个根本没有意义,那么之前所有的都可以忽略.所以我想打破这个循环.但是如果我从0向前迭代到n,那就行不通了.我需要从n向前迭代到0.也许有一种方法或功能我不知道,所以我不必在这里重新发明轮子.
要添加其他答案,您可以将-[NSArray reverseObjectEnumerator]
与Objective-C2.0中的快速枚举功能结合使用(可在Leopard和iPhone中使用):
for (id someObject in [myArray reverseObjectEnumerator])
{
// print some info
NSLog([someObject description]);
}
信息来源:http://cocoawithlove.com/2008/05/fast-enumeration-clarifications.html