Student *stu1=[[Student alloc] init];
stu1.name=@"xiaolongxia";
stu1.age=18;
Student *stu2=[Student new];
stu2.name=@"dazhaxie";
stu2.age=23;
NSMutableArray *mularr=[NSMutableArray arrayWithObjects:stu1,stu2, nil];
//第一种比较
[mularr sortUsingSelector:@selector(compareWithName:)];
for (int i=0; i<mularr.count; i++) {
NSLog(@"%@",mularr[i]);
}
[mularr sortUsingSelector:@selector(compareWithAge:)];
for (int i=0; i<mularr.count; i++) {
NSLog(@"%@",mularr[i]);
}
//第二种
[mularr sortUsingComparator:^NSComparisonResult(Student *obj1, Student *obj2) {
return [obj1 compareWithName:obj2];
}];
for (id obj in mularr) {
NSLog(@"%@",obj);
}
[mularr sortUsingComparator:^NSComparisonResult(Student *obj1, Student *obj2) {
int result;
if (obj1.age>obj2.age) {
result=NSOrderedDescending;
}else if(obj1.age<obj2.age){
result=NSOrderedAscending;
}else {
result=NSOrderedSame;
}
return result;
}];
for (id obj in mularr) {
NSLog(@"%@",obj);
}
//第三种
NSSortDescriptor *desc=[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
[mularr sortUsingDescriptors:@[desc]];
NSEnumerator *e=[mularr objectEnumerator];
NSLog(@"%@",[e allObjects]);
NSSortDescriptor *desc1=[NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];
[mularr sortUsingDescriptors:@[desc1]];
NSEnumerator *ee=[mularr objectEnumerator];
NSLog(@"%@",[ee allObjects]);