3

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

4

1 回答 1

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];

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

NSSortDescriptor *aSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"value" ascending:YES];
[aMutableArray sortUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]];

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

HTH,如果有任何问题,请在评论中提问。

于 2010-01-27T18:00:50.303 回答