【问题标题】:Sort NSStrings using caseInsensitiveCompare?使用 caseInsensitiveCompare 对 NSStrings 进行排序?
【发布时间】:2011-08-07 19:42:12
【问题描述】:

我想要实现的是: 1. 从我的 NSArray 中获取所有 NSDictionaries 中的 NSStrings(每个 NSDictionary 只有一个 NSString) 2.然后对所有的NSStrings进行排序,使所有Names按字母顺序排序。

例如: 假设有 Mark、Nick 和 Rob。我的数组中有 6 个 NSDictionaries(每个玩家有 2 个 nsdictionaries)。所以它看起来像这样(随机): 马克,罗伯,尼克,尼克,罗伯,马克

我想这样排序: 马克,马克,尼克,尼克,罗伯,罗伯

这可能吗?我该怎么做?

谢谢!

【问题讨论】:

    标签: objective-c arrays sorting nsstring nsdictionary


    【解决方案1】:

    您首先需要的是名称数组。假设“dictionaryArray”是字典数组的名称,而“name”是每个字典中的键之一:

    NSArray *names = [dictionaryArray valueForKey:@"name"];
    

    接下来,您对该数组进行排序。在这个特定的示例中,您实际上是在生成它的排序不可变副本:

    NSArray *sortedNames = [names sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
    

    如果您希望对可变数组进行排序,则在创建数组“名称”之后,您可以创建它的可变版本:

    NSMutableArray *mutableNames = [NSMutableArray arrayWithArray:names];
    

    然后您可以使用以下命令对其进行排序:

    [mutableNames sortUsingSelector:@selector(caseInsensitiveCompare:)];
    

    祝你工作顺利。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-12
      • 2012-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多