我在swift3的一个项目中工作,我有一个名为“details”的NSArray,它包含NSDictionary对象。我的要求是对此NSArray进行排序如果将“key”作为参数传递(例如: - name,lastName,age)。我的NSArray看起来像吼叫。
(
{name:"John";
lastName :"bow";
age: "26";
},
{
name:"paul";
lastName :"law";
age: "19";
}
)
我怎样才能实现这个目标?
答案 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"]]