按两个标准对对象数组进行排序?

Sor*_*ohi 11 arrays sorting objective-c

我有一个对象数组,我想用两个键排序.这些对象可以说是Student类型,我对我的排序感兴趣的属性是等级名称.

Student
{
    double grade;
    string name;
    ...
} 
Run Code Online (Sandbox Code Playgroud)

我如何先按等级然后按名称对对象进行排序?所以例如,如果我有列表:汤姆9.9安德鲁9.8 Chriestie 10垫9.8艾莉森10阿达9.8

排序之后,我应该有:Allison 10 Christie 10 Tom 9.9 Ada 9.8 Andrew 9.8 Mat 9.8

而不是Christie 10 Allison 10 Tom 9.9 Andrew 9.8 Ada 9.8 Mat 9.8

任何指针都非常有用.

小智 23

我的目标知识非常好,但是这里有一些很好的指示,并且总是有文档.这是我对它的破解......

NSSortDescriptor *gradeSorter = [[NSSortDescriptor alloc] initWithKey:@"grade" ascending:YES];
NSSortDescriptor *nameSorter = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];

[personList sortUsingDescriptors:[NSArray arrayWithObjects:gradeSorter, nameSorter, nil]];
Run Code Online (Sandbox Code Playgroud)