【问题标题】:How to sort an NSMutableArray?如何对 NSMutableArray 进行排序?
【发布时间】:2025-12-01 04:15:01
【问题描述】:

我想对 NSMutableArray 进行排序。 以下是数组的结构。

一个数组包括一些字典,它们有两个变量,键是这样的。

NSMutableArray array - NSDictionary dic - int num(key: @"Num"), NSString str(key: @"Str")

如何按字典的 num 值对数组进行排序?

【问题讨论】:

  • 这很简单……您尝试了一些不起作用的方法吗?
  • NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"Date" 升序:NO]; [searchTableData sortUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];

标签: objective-c sorting nsarray


【解决方案1】:
[array sortUsingComparator:^(id dic1, id dic2) {
    return [dic1 objectForKey:@"Num"] <= [dic2 objectForKey:@"Num"];
}];

但你真的应该使用NSNumber 而不是int 来代替@"Num" 并使用

[array sortUsingComparator:^(id dic1, id dic2) {
    return [[dic1 objectForKey:@"Num"] intValue] <= [[dic2 objectForKey:@"Num"] intValue];
}];

改为。

【讨论】: