我有一个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

Objective-c相关问答推荐

Clang:将 id 之类的类型转换警告提升为 class

在 iOS 7 上,如果最终包含在选项卡栏控制器中,则使用工具栏推送控制器会留下不可用空间的间隙

iphone - 防止uiscrollview通过滚动

如何使 UIView 动画序列重复和自动反转

Xcode 中架构的重复符号

如何在 Cocoa 中创建字符串的 MD5 哈希?

定义缓存变量时在objective-c中使用static关键字

从我在 iPhone 上的应用程序调用官方 *Settings* 应用程序

如何切换回已经加载的 UIViewController?

我们可以在 UIPageViewController 中自定义页面指示器吗?

判断 NSNumber 是否为 NaN

Objective C - 如何连接整个字符串数组?

使用 NSLog 打印 NSData

Objective-C构建中的重复符号错误?

将自定义子视图(在 xib 中创建)添加到视图控制器的视图 - 我在做什么错

重复符号问题

Xcode 警告未使用属性访问结果 - getter 不应用于副作用

如何将 printf 与 NSString 一起使用

如何在 iPhone SDK 中包含和使用新字体?

iOS中的活动生命周期相当于什么?