首個字母排序

NSString *pathList = [[NSBundle mainBundle] pathForResource:@"models" ofType:@"json"]; 

    NSString *sourceList = [NSString stringWithContentsOfFile:pathList encoding:NSUTF8StringEncoding error:nil];

    NSDictionary *resultList = [sourceList objectFromJSONString];

    //以系名的首個字目為分組名,重新生成可變數組

    NSMutableDictionary *aIndexDictionary = [[NSMutableDictionary alloc] init];

    NSMutableArray *currentArray;

    NSRange aRange = NSMakeRange(0, 1);

    NSString *firstLetter;    

    NSArray *tempList = [resultList objectForKey:@"data"];

    //以系名的首個字目為 key

    NSMutableArray *keys=[[NSMutableArray alloc]init];    

    //遍歷數組

    for (int i=0; i<[tempList count]; i++) {

        //獲得首字母

        firstLetter = [[[tempList objectAtIndex:i] objectForKey:@"model"] substringWithRange:aRange];

        

        if ([aIndexDictionary objectForKey:firstLetter] == nil) {

            currentArray = [NSMutableArray array];

            [aIndexDictionary setObject:currentArray forKey:firstLetter];

            

            [keys addObject:firstLetter];

        }

        //添加字典

        [currentArray addObject:[tempList objectAtIndex:i]];

        

    }

    

    self.modelDictionary = aIndexDictionary;

    //NSLog(@"%@",aIndexDictionary);

    self.modelsList = keys;

posted @ 2012-08-18 12:59  careerman  阅读(358)  评论(0编辑  收藏  举报