2014-02-05 64 views
0

我必须根据配置排序的arrray,假设其有学生其中有学生姓名排序基于另一个配置数组的数组

[NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:@"abc",@"name", nil],[NSDictionary dictionaryWithObjectsAndKeys:@"efg",@"name", nil][NSDictionary dictionaryWithObjectsAndKeys:@"cde",@"name", nil], nil]; 

的一些数据,我还有一个阵列,说如何解决这数组像它说的第一个应该是efg然后abc等等。

是否有可能使用nsssortdescriptor或我必须写我的自定义代码。

回答

1

我会用一个区块允许您指定比较逻辑

NSArray *sortedArray = [_helpItems sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { 
    return [(MAHelpItem *)a order] > [(MAHelpItem *)b order]; 
}]; 
self.items = sortedArray; 
0

也许这是你在找什么:

NSArray *students; 
    NSArray *sortPriorities; 
    NSMutableArray *sortDescriptors = @[].mutableCopy; 
    for (NSString *key in sortPriorities) { 
    [sortDescriptors addObject:[NSSortDescriptor sortDescriptorWithKey:key ascending:YES]]; 
    } 
    NSArray *sortedStudents = [students sortedArrayUsingDescriptors:sortDescriptors]; 
相关问题