对包含数组的NSMutableArray进行排序?

时间:2013-11-01 20:15:13

标签: nsmutablearray

我有一个名为userResults的类,如下所示:

#import <Foundation/Foundation.h>

@interface userResults : NSObject

@property (nonatomic, strong) NSString *resultsMix;
@property (nonatomic, strong) NSNumber *resultsSaving;
@property (nonatomic, strong) NSNumber *resultsBlendComponent1;
@property (nonatomic, strong) NSNumber *resultsBlendComponent2;
@property (nonatomic, strong) NSNumber *resultsTotalProtein;
@property (nonatomic, strong) NSNumber *resultsPricePerPound;
@property (nonatomic, strong) NSNumber *resultsPricePerPoint;

@end

使用这样的实现:

#import "userResults.h"

@implementation userResults

@end

我将在名为results的NSMutableArray中构建多个值。

我希望能够在* resultsSaving字段中对结果中的记录进行排序。

我已经填充了两个数组,results1和results2,并将它们粘贴在更大的数组中,然后我尝试使用此代码进行排序。

results = [NSMutableArray arrayWithObjects:results1,results2,nil];
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"resultsSaving" ascending:YES];
[results sortUsingDescriptors:sort];

不起作用。我认为我可能有一些概念上的问题。任何帮助将不胜感激。

布赖恩

1 个答案:

答案 0 :(得分:0)

经过大量的互联网搜索,我找到了答案:

NSSortDescriptor *sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"resultsSaving"
                                            ascending:NO];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
sortedArray = [results sortedArrayUsingDescriptors:sortDescriptors];

奇怪的是,你不能做下降,但必须提升:否。这很奇怪。