【问题标题】:how to sort array of dictionary alphabetically in iOS 9 [duplicate]如何在iOS 9中按字母顺序对字典数组进行排序[重复]
【发布时间】:2016-04-05 05:58:23
【问题描述】:

我正在获取字典数组,我想按字母顺序对数据进行排序以显示索引的 tableview 功能。如何使用字典对数组进行排序以实现索引 tableview。对数组进行排序是我的代码:

NSArray *array1 = [NSArray arrayWithArray:resultArray];
NSSortDescriptor *sortByName = [NSSortDescriptor sortDescriptorWithKey:@"first_name" ascending:YES selector:@selector(caseSensitive)] ;
NSArray *sortDescriptors = [NSArray arrayWithObject:sortByName];
sortedArray = [array1 sortedArrayUsingDescriptors:sortDescriptors];

我正在尝试使用代码,但是当我在 tableview 中显示数据时,它变得不匹配。请建议我正确的方法。谢谢。

【问题讨论】:

  • 您是否尝试过下面发布的答案,您是否得到任何解决方案?
  • 它与iOS8、iOS7、6、5、...等中的情况几乎相同......

标签: ios objective-c iphone nsmutablearray nsdictionary


【解决方案1】:

请使用此代码:

NSArray *array1 = [NSArray arrayWithArray:resultArray];
NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: YES];
array1 = [array1 sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]];

【讨论】:

    【解决方案2】:

    试试这个

     NSArray *arr = @[@{@"first_name":@"B"},@{@"first_name":@"A"}];
     NSSortDescriptor *desc = [NSSortDescriptor sortDescriptorWithKey:@"first_name" ascending:YES];
    arr =  [arr sortedArrayUsingDescriptors:@[desc]];
    

    【讨论】:

      【解决方案3】:

      我们通过使用以下方法得到了解决方案

      [self.jsonData sortUsingDescriptors: [NSArray arrayWithObjects: [NSSortDescriptor sortDescriptorWithKey:"fullname" ascending:YES], [NSSortDescriptor sortDescriptorWithKey:"id" ascending:NO], nil]];
      

      地点:-

      jsonData - MutableArray 保存解析后的 JSON 数据。

      fullname - 我们要排序的数据。

      id - 内部字典附带的唯一数据。

      参考:how to sort array of dictionary alphabetically in iOS 9

      【讨论】:

        【解决方案4】:

        试试这个

        让 sortedKeys = (self.dictBrands.allKeys as![String]).sort(

        【讨论】:

          猜你喜欢
          • 2018-01-27
          • 1970-01-01
          • 1970-01-01
          • 2013-11-02
          • 1970-01-01
          • 2011-10-06
          • 2014-05-14
          相关资源
          最近更新 更多