我想要达到的目标是: 1.从我的NSArray中获取NSStrings的NSStrings(每个NSDictionary只有一个NSString) 2.然后对所有NSStrings进行排序,以便按字母顺序对所有名称进行排序。
例如: 说有马克,尼克和罗布。我的阵列中有6个NSDictionaries(每个玩家有2个nsdictionaries)。所以看起来像这样(随机): Mark,Rob,Nick,Nick,Rob,Mark
我想这样排序: Mark,Mark,Nick,Nick,Rob,Rob
这可能吗?我该怎么做?
谢谢!
答案 0 :(得分:2)
您首先需要的是一系列名称。我们假设“dictionaryArray”是您的词典数组的名称,“name”是每个词典中的键之一:
NSArray *names = [dictionaryArray valueForKey:@"name"];
接下来,您对此数组进行排序。在这个特定的例子中,您实际上是在生成一个已排序的不可变副本:
NSArray *sortedNames = [names sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
如果您想要一个可变数组进行排序,在创建数组“names”之后,您可以创建它的可变版本:
NSMutableArray *mutableNames = [NSMutableArray arrayWithArray:names];
然后你可以用以下方式对其进行排序:
[mutableNames sortUsingSelector:@selector(caseInsensitiveCompare:)];
祝你工作顺利。