iPhone Obj C - 对可变数组字典进行排序 - 显示字符串但按值排序

Nat*_*han 3 sorting objective-c nsdictionary nsmutablearray iphone-sdk-3.0

我有一个NSMutableArray,里面有30个字典.每个都包含名称和值.我目前已经对名称进行了排序,以便按字母顺序在表格视图中显示.但是,我想制作一个UIButton来提供仍然显示名称的选项,但是按照价值排序.不需要显示该值.另外,在.m/.h文件中放置这些代码的位置是什么?谢谢!

Iva*_*pan 22

为了能够帮助您,我需要一个测试数据来使用.假设您的数组数据如下所示:

NSMutableArray *aMutableArray = [NSMutableArray arrayWithObjects:
         [NSDictionary dictionaryWithObjectsAndKeys:
          @"A", @"name",
          [NSNumber numberWithInt:6], @"value", nil],
         [NSDictionary dictionaryWithObjectsAndKeys:
          @"C", @"name",
          [NSNumber numberWithInt:2], @"value", nil],
         [NSDictionary dictionaryWithObjectsAndKeys:
          @"B", @"name",
          [NSNumber numberWithInt:4], @"value", nil], nil];
Run Code Online (Sandbox Code Playgroud)

在这种情况下,这里是按值排序的方式:

NSSortDescriptor *aSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"value" ascending:YES];
[aMutableArray sortUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]];
Run Code Online (Sandbox Code Playgroud)

至于放置此代码的位置,请将其放置在需要重新排序的位置(当然,在实现[.m]文件中).

HTH如果有任何问题请在评论中提出.