另外还想请问用array sortedArrayUsingComparator
如何在循环体中写多个判断条件?
比如:NSArray *sortedArray = array sortedArrayUsingComparator:^NSComparisonResult(Student *s1, Student *s2) {
        if (s1.score == s2.score) {
          // 后面想写用age判断,如果age相等,用name判断
     }跪谢了!

解决方案 »

  1.   

    降序这样不行吗:
    NSSortDescriptor *sortDescriptor1 = [NSSortDescriptor sortDescriptorWithKey:@"_score" ascending:NO];你的第二个问题,你自己不就给出了答案么?
    f (s1.score == s2.score) {
              // 后面想写用age判断,如果age相等,用name判断
        if (s1.age == s2.age) {
            //do something
        } else {
            //do something
        }
    }else {
    // do something
    }
      

  2.   

    降序只需要将ascendingc参数设置为NO就可以了,像这样
    NSSortDescriptor *sortDescriptor1 = [NSSortDescriptor sortDescriptorWithKey:@"_score" ascending:NO];
    NSSortDescriptor *sortDescriptor2 = [NSSortDescriptor sortDescriptorWithKey:@"_age" ascending:NO];
    NSSortDescriptor *sortDescriptor3 = [NSSortDescriptor sortDescriptorWithKey:@"_name" ascending:NO];优先按score降序。 score- > age - > name