当键作为参数给出时,对字典数组进行排序

时间:2017-06-12 13:19:55

标签: swift nsarray

我在swift3的一个项目中工作,我有一个名为“details”的NSArray,它包含NSDictionary对象。我的要求是对此NSArray进行排序如果将“key”作为参数传递(例如: - name,lastName,age)。我的NSArray看起来像吼叫。

(
 {name:"John";
  lastName :"bow";
  age: "26"; 
 },
 {
  name:"paul";
  lastName :"law";
  age: "19";
  }

)

我怎样才能实现这个目标?

2 个答案:

答案 0 :(得分:1)

试试这个:

NSSortDescriptor * sortDescriptors = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; // change your key here
NSArray * arrSortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray * sortedArray = [yourArray sortedArrayUsingDescriptors:arrSortDescriptors];
NSLog(@"sortedArray %@",sortedArray);

答案 1 :(得分:0)

使用sort

var dicts = [["name":"b"], ["name":"a"], ["name":"z"], ["name":"f"]]
dicts.sort { $0["name"]! < $1["name"]! }
print(dicts)

打印[["name": "a"], ["name": "b"], ["name": "f"], ["name": "z"]]