我得把我的NSArray美元倒过来.

例如:

[1,2,3,4,5]必须变成:[5,4,3,2,1]

实现这一目标的最佳方式是什么?

推荐答案

要获得数组的反向副本,请使用reverseObjectEnumerator查看danielpunkass' solution.

要反转可变数组,可以在代码中添加以下类别:

@implementation NSMutableArray (Reverse)

- (void)reverse {
    if ([self count] <= 1)
        return;
    NSUInteger i = 0;
    NSUInteger j = [self count] - 1;
    while (i < j) {
        [self exchangeObjectAtIndex:i
                  withObjectAtIndex:j];

        i++;
        j--;
    }
}

@end

Objective-c相关问答推荐

Objective-C,如何获取 UTC 时区的当前日期?

如何获取目标名称?

在 iOS 中检测 PAN 手势的方向

我应该打电话给 [super awakeFromNib] 吗?

在objective-c中isa是什么意思?

在可可中的字符串上使用 MD5 哈希?

使用自动布局以编程方式更改框架

如何获取 NSArray 的最后一个对象

如何在目标 C 中创建单例类

iOS - 应用程序关闭时的核心位置和地理围栏

Objective-C 实例变量?

如何将小时数添加到 NSDate?

在 32 位和 64 位架构上格式化 NS(U)Integer 时类型转换的替代方法?

UICollectionView 更新单个单元格

Xcode 7 警告:目标文件是为比链接更新的 iOS 版本构建的

UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效?

如何判断 WkWebView 是否在 Objective-C 中完成加载?

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

即使在静音模式下也能在 iPhone 上播放声音

将 Xcode 组创建为文件系统文件夹的工作流程