2017-07-17 58 views
0

你好我是新的IOS开发,我需要创建像视图的联系人,我能够创建它,如果我已经有联系人和索引的数组,但我需要是从服务器获取联系人并使用目标C对索引进行排序,有帮助吗?创建一个tableviewcontroller的索引排序

我检查这个教程:

 animals = @{@"B" : @[@"Bear", @"Black Swan", @"Buffalo"], 
        @"C" : @[@"Camel", @"Cockatoo"], 
        @"D" : @[@"Dog", @"Donkey"], 
        @"E" : @[@"Emu"], 
        @"G" : @[@"Giraffe", @"Greater Rhea"], 
        @"H" : @[@"Hippopotamus", @"Horse"],... 
sectionTitles = [[animals allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]; 
    animalIndexTitles = @[@"A", @"B", @"C", @"D", @"E", @"F", @"G", @"H", @"I", @"J", @"K", @"L", @"M", @"N", @"O", @"P", @"Q", @"R", @"S", @"T", @"U", @"V", @"W", @"X", @"Y", @"Z"]; 

,但显然这不是我所需要,

回答

0

首先,你必须所有的键排序:

NSArray *keys = [animals allKeys]; 
NSArray *sortedKeys = [keys sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { 
    NSString *first = [someDictionary objectForKey:a]; 
    NSString *second = [someDictionary objectForKey:b]; 
    return [first compare:second]; 
}]; 

你有排序键后按键排序每个数组。

for(i= 0 ; i < [sortedKeys count ]; i++){ 
NSArray * arr = [animals objectForKey:[sortedKeys objectAtIndex: i] ]; 
NSArray *sortedArray = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { 
return [[obj1 valueForKey:@"value"] compare:[obj2 valueForKey:@"value"]]; 
}];