小编Mat*_*att的帖子

NSDictionary键按值以数字排序

我将名称作为键存储,并将值作为值存储到NSDictionary保存中NSUserDefaults.然后我想要取回按分数排序的键,但我似乎无法用数字排序它们,只能用字符串.例如,分数列表100,50,300,200,500给出了100,200,300,50,500.

可以这样做还是我需要以不同的方式解决这个问题?

NSString *defaultNames[] = {@"Matt", @"Terry",@"Jessica",@"Sean",nil};
NSNumber *defaultScores[] = {@"600", @"500",@"100",@"50", nil};

NSDictionary *newScoreDict =  [NSDictionary dictionaryWithObjects:(id *)defaultScores forKeys:(id *)defaultNames count:7];

NSArray *currScores = [scoreDict keysSortedByValueUsingSelector:@selector(compare:)];
Run Code Online (Sandbox Code Playgroud)

sorting cocoa-touch objective-c nsdictionary

18
推荐指数
3
解决办法
2万
查看次数

标签 统计

cocoa-touch ×1

nsdictionary ×1

objective-c ×1

sorting ×1