我有两个带有NSString和NSNumber对象的NSMutableArrays,更具体一些:
NSMutableArray * points; // NSNumber objects
NSMutableArray * players; //NSString objects我需要在NSMutableArrays中执行此操作。我使用这个对点进行排序
NSSortDescriptor *highestToLowest = [NSSortDescriptor sortDescriptorWithKey:@"self" ascending:NO];
[points sortUsingDescriptors:[NSArray arrayWithObject:highestToLowest]];发布于 2013-01-17 06:48:38
我认为你应该引入一个Player类
@interface Player : NSObject
@property(strong) NSString *name;
@property(strong) NSNumber *points;
@end而不是将信息保存在单独的数组中,您现在可以为每个玩家创建一个Player对象,并将点保留在其中。现在把所有的玩家放在一个数组中,这样你就可以很容易地排序了。
[players sortUsingComparator: ^(Player *p1, Player *p2){
if (p1.points < p2.points)
return NSOrderedAscending;
else if(p1.points > p2.points)
return NSOrderedDescending
return NSOrderedSame;
}];https://stackoverflow.com/questions/14369205
复制相似问题