gpt4 book ai didi

objective-c - 从 plist 1-10 中对 NSString 进行排序

转载 作者:行者123 更新时间:2023-11-29 11:23:32 25 4
gpt4 key购买 nike

我要排序的 plist 有问题。这是我想在玩家排名上排序的高分。问题是排名是一个字符串,它搞砸了排序(我得到 1,10,2,3,4,5,6,7,8,9)。

我不知何故需要以正确的方式对其进行排序。对于排序,我使用:

NSArray *unSortedNames = [NSArray arrayWithContentsOfURL: plistURL];
NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"rating" ascending:YES] autorelease];
names = [[unSortedNames sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptor]] retain];

前三名玩家的日志如下所示:

  {
isUser = NO;
nick = Player;
rating = 1;
score = 57314;
},
{
isUser = NO;
nick = Player321;
rating = 10;
score = 212;
},
{
isUser = NO;
nick = "Player123";
rating = 2;
score = 24540;
},

关于如何解决这个问题有什么想法吗?

谢谢米凯尔

最佳答案

几个选项...

  1. 向您的类添加一个只读属性,该属性返回您的评级 iVar 的整数版本。然后根据这个属性排序。

  2. 使用 sortedArrayUsingFunction: 并编写一个函数,根据它们的整数值比较 2 个排名,并返回排序顺序。

1 看起来应该简单很多。

关于objective-c - 从 plist 1-10 中对 NSString 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5261778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com