首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

NSArray的排序步骤

2012-09-14 
NSArray的排序方法1.sortedArrayUsingSelector(按Key大小对NSDictionary排序)Person *person1 [[Person

NSArray的排序方法
1.sortedArrayUsingSelector(按Key值大小对NSDictionary排序)

    Person *person1 = [[Person alloc] init];    [person1 setName:@"ABCD"];    [person1 setAge:24];        Person *person2 = [[Person alloc] init];    [person2 setName:@"ACBD"];    [person2 setAge:22];        Person *person3 = [[Person alloc] init];    [person3 setName:@"ABDC"];    [person3 setAge:33];        Person *person4 = [[Person alloc] init];    [person4 setName:@"ACDB"];    [person4 setAge:22];        NSMutableArray *array = [NSMutableArray arrayWithObjects:person1, person3, person4, person2, nil];    [person1 release];    [person2 release];    [person3 release];    [person4 release];        NSSortDescriptor *sortDescriptor1 = [NSSortDescriptor sortDescriptorWithKey:@"_age" ascending:YES];    NSSortDescriptor *sortDescriptor2 = [NSSortDescriptor sortDescriptorWithKey:@"_name" ascending:YES];        NSArray *tempArray = [array sortedArrayUsingDescriptors:[NSArray arrayWithObjects:sortDescriptor1, sortDescriptor2, nil]];        for(NSInteger i = 0; i < [tempArray count]; i++)    {        NSLog(@"%@--------%d\n", [[tempArray objectAtIndex:i] name], [[tempArray objectAtIndex:i] age]);    }    //    [array sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];//    //    for(NSInteger i = 0; i < [array count]; i++)//    {//        NSLog(@"%@--------%d\n", [[array objectAtIndex:i] name], [[array objectAtIndex:i] age]);//    }

    NSSortDescriptor *sortDescriptor1 = [NSSortDescriptorsortDescriptorWithKey:@"_age"ascending:YES];

   NSSortDescriptor *sortDescriptor2 = [NSSortDescriptorsortDescriptorWithKey:@"_name"ascending:YES];

    NSArray *tempArray = [array sortedArrayUsingDescriptors:[NSArrayarrayWithObjects:sortDescriptor1, sortDescriptor2, nil]];


这里的NSArray中的第一元素表示首先按照这个元素的升序或者降序进行排序,对于有重复项的,再按照第二元素进行排序,依次进行类推


热点排行