-1

我有 NSArray,其中有数字,我需要按 DESC 中的这些数字对 tableView 中的数据进行排序。我找到了NSSortDescriptor,但我不知道如何使用它...你能帮帮我吗?

4

2 回答 2

1

您可以使用块方法对数组进行简单排序:

NSArray *orderedObjects = [yourArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
   return [obj1 compare:obj2];
}];

要反转顺序,只需在比较中切换对象:

NSArray *orderedObjects = [yourArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
   return [obj2 compare:obj1];
}];
于 2013-07-02T15:06:20.287 回答
1

您可能想要使用 NSArray 的 sortUsingComparator: 下面,您可以找到一个示例片段,该片段将按降序对 NSArray 命名数组进行排序。

[array sortUsingComparator: ^(id id1, id id2) {
    NSNumber* num1 = [NSNumber numberWithInt:(int)id1];
    NSNumber* num2 = [NSNumber numberWithInt:(int)id2];
    return [num1 compare:num2];
}];

该块使用整数数组,并调用 sortUsingComparator。块头将始终相同,内容将根据您想要排序的方式(以及您想要排序的内容)发生变化。

于 2013-07-02T15:07:33.180 回答