iPhone:CoreData,按2列排序

Jim*_*Jim 5 iphone core-data

我有一个列很少的表......我想对它进行排序,这就是我这样做的方式:

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"column1" 
                                                     ascending:NO];
Run Code Online (Sandbox Code Playgroud)

但是如果column1值到处都是0,我想用另一列对它进行排序...... @"column2".那么init我的sortDescriptor如何用2个键?谢谢

Eim*_*tas 12

您不必使用两个键初始化.你必须初始化两个排序描述符.然后将它们添加到数组中,然后将带有排序描述符的数组传递给排序方法.

更新

NSSortDescriptor *col1SD = [NSSortDescriptor sortDescriptorWithKey:@"column1" ascending:NO];
NSSortDescriptor *col2SD = [NSSortDescriptor sortDescriptorWithKey:@"column2" ascending:NO];

[someMutableArray sortUsingDescriptors:@[col1SD, col2SD]];
Run Code Online (Sandbox Code Playgroud)