如何对 ios 中包含字典的 nsmutable 数组进行排序

How to sort nsmutable array which containing dictionary in ios

我有一个数组,里面有这样的数据。

(
    {
        avatar = "306_20160701_112934.jpg";
        email = "hardik@gmail.com";
        "full_name" = "hardik ";
        number = 977743;
        "user_id" = 306;
    },
    { 
        avatar = "profileImage_1466836096488.jpg";
        email = "robo@gmail.com";
        "full_name" = "Robot Codol";
        number = 903360;
        "user_id" = 324;
    },
    {
        avatar = "386_20160705_120501.jpg";
        email = "ravi@gmail.com";
        "full_name" = "apu ";
        number = 46576246876;
        "user_id" = 386;
     },
     {
        avatar = "profileImage_1467293381491.jpg";
        email = "testnew@gmail.com";
        "full_name" = "Robot Codol";
        number = 905660;
        "user_id" = 402;
     },
     {
        avatar = "474_20160704_073537.jpg";
        email = "demo@flikit.com";
        "full_name" = "hardik ";
        number = "+9777743";
        "user_id" = 474;
     }
)

现在我想按升序排列这些细节 "full_name" 你能帮忙吗?

我试过这段代码,但做不到。

NSSortDescriptor *sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"full_name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
[arrSeggestedContact sortUsingDescriptors:sortDescriptors];

在此谢谢帮助。

试试这个

  NSSortDescriptor *sortDescriptor =[[[NSSortDescriptor alloc]
      initWithKey:@"full_name"
      ascending:YES
      selector:@selector(localizedCaseInsensitiveCompare:)]; // or try with `caseInsensitiveCompare`
NSSortDescriptor *fullNameSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"full_name"
  ascending:YES
  selector:@selector(localizedStandardCompare:)];

NSLog(@"By Full name: %@", [people sortedArrayUsingDescriptors:@[fullNameSortDescriptor]]);