1

假设我的游戏中有以下数据。我在 cocos2d 中开发了游戏。

Name    Score
Sagar   10000
Amit     2000
Vishal     90

以上数据存储在 plist 文件中。

Plist 有一个数组作为根。

其中有10本词典。

每个字典有两个值:

  • 字符串值 - 名称
  • 数值-分数

当我使用

NSMutableArray *x=[[NSMutableArray alloc] initWithContentsOfFile:@"Sagar.plist"];

我想按分数对这个可变数组进行排序。

是否可以?

4

3 回答 3

8

使用排序描述符:

NSSortDescriptor * sortByScore = [[[NSSortDescriptor alloc] initWithKey:@"Score" ascending:NO] autorelease];
NSArray * descriptors = [NSArray arrayWithObject:sortByScore];
NSArray * sorted = [x sortedArrayUsingDescriptors:descriptors];
于 2009-11-05T23:06:49.660 回答
1

[NSMutableArray sortUsingDescriptors:][NSMutableArray sortUsingComparator:]等等。NSMutableArray 提供了几种排序方法。在这种情况下,如果我需要在 10.5 之前兼容,我会使用描述符方法和雪豹应用程序的比较器方法。

于 2009-11-05T22:44:57.997 回答
1

我相信在 iPhone 上,您的选择是

- (void)sortUsingFunction:(NSInteger (*)(id, id, void *))compare context:(void *)context;

- (void)sortUsingSelector:(SEL)comparator;

这里有很多不错的信息:http: //www.cocoadev.com/index.pl?SortUsingSelector

编辑:哎呀!看到 cocos2d 并认为这是一个 iPhone 问题。

于 2009-11-05T22:50:47.037 回答