首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据第一个对象排序的两个NSMutableArrays

根据第一个对象排序的两个NSMutableArrays
EN

Stack Overflow用户
提问于 2013-01-17 06:38:00
回答 1查看 118关注 0票数 0

我有两个带有NSString和NSNumber对象的NSMutableArrays,更具体一些:

代码语言:javascript
运行
复制
NSMutableArray * points; // NSNumber objects
NSMutableArray * players; //NSString objects

我需要在NSMutableArrays中执行此操作。我使用这个对点进行排序

代码语言:javascript
运行
复制
NSSortDescriptor *highestToLowest = [NSSortDescriptor sortDescriptorWithKey:@"self" ascending:NO];
[points sortUsingDescriptors:[NSArray arrayWithObject:highestToLowest]];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-17 06:48:38

我认为你应该引入一个Player类

代码语言:javascript
运行
复制
@interface Player : NSObject
@property(strong) NSString *name;
@property(strong) NSNumber *points;
@end

而不是将信息保存在单独的数组中,您现在可以为每个玩家创建一个Player对象,并将点保留在其中。现在把所有的玩家放在一个数组中,这样你就可以很容易地排序了。

代码语言:javascript
运行
复制
[players sortUsingComparator: ^(Player *p1, Player *p2){
    if (p1.points < p2.points)
        return NSOrderedAscending;   
    else if(p1.points > p2.points)
        return NSOrderedDescending 
    return NSOrderedSame;
}];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14369205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档