objective C在多列上排序2D数组?

时间:2012-11-15 13:24:21

标签: objective-c arrays

我有一系列数据,如此。

{
"first_name"="John",
"last_name"="Lock"
};
{
"first_name"="John",
"last_name"="Lee"
};
{
"first_name"="Melinda",
"last_name"="Abman"
};

我可以按名字排序:

NSArray *sortedArray = [tablearray sortedArrayUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"first_name" ascending:YES]]];

但是有一种简单的方法可以按名字和姓氏排序吗?基本上相当于SELECT * FROM users ORDER BY first_name ASC, last_name ASC

1 个答案:

答案 0 :(得分:2)

sortedArrayUsingDescriptors:采用NSSortDescriptor数组,因此您可以继续添加sortDescripters。

NSArray *sortDescriptors = @[
  [NSSortDescriptor sortDescriptorWithKey:@"first_name" ascending:YES],
  [NSSortDescriptor sortDescriptorWithKey:@"last_name" ascending:YES]
];

NSLog(@"%@", [array sortedArrayUsingDescriptors:sortDescriptors]);