• 联系人按照A~~~Z排列


        // 01 创建可变字典,存储每一个key对应的数据列表
        
        NSMutableDictionary *nationWithCodeDicList = [NSMutableDictionary dictionary];
        
        // 02 遍历数组_dataList中的小字典
        
        NSString *path = [[NSBundle mainBundle] pathForResource:@"nationcodenumber" ofType:@"plist"];
        NSArray *_dataList = [NSArray arrayWithContentsOfFile:path];
        for (NSDictionary *nationWithCodeDic in _dataList) {
            
            // 03 得到国家名称
    //        Model *model =[[Model alloc]init];
            NSString *nationName = nationWithCodeDic[@"Name"];
            
            // 04 转成可变字符串
            
            NSMutableString *mutableNationName = [NSMutableString stringWithString:nationName];
            
            // 05 先转换为带声调的拼音
            
            CFStringTransform((CFMutableStringRef)mutableNationName,NULL, kCFStringTransformMandarinLatin,NO);
            
            // 06 再转换为不带声调的拼音
            
            CFStringTransform((CFMutableStringRef)mutableNationName,NULL, kCFStringTransformStripDiacritics,NO);
            
            // 07 得到首字母之大写形式并设置为字典的一个key
            
            NSString *key = [mutableNationName substringToIndex:1].uppercaseString;
            NSLog(@"%@",key);
            // 08 获取nationWithCodeDicList中key对应的value(存放若干国家小字典的数组,国家名字的首字母都是key)nationWithCodeListKey
            
            NSMutableArray *nationWithCodeListKey = [nationWithCodeDicList objectForKey:key];
            
            // 09 若此数组为空,则创建并保存到字典对应的key
            
            if (nationWithCodeListKey == nil) {
                
                nationWithCodeListKey = [NSMutableArray array];
                
                [nationWithCodeDicList setObject:nationWithCodeListKey forKey:key];
                
            }
            //MKMKMKMKMKMKMKMKMK
            Model *model =[Model currentModelWithDict:nationWithCodeDic];
            // 10 若有此数组,就把本次遍历得到的数据(_dataList中的小字典)加入其中
            [nationWithCodeListKey addObject:model];
    //        [nationWithCodeListKey addObject:nationWithCodeDic];
            // 11 获取当前好友列表中所有的组标题 使用compare得到有顺序的字母数组
            
            self.shouzimuarray = [[nationWithCodeDicList allKeys] sortedArrayUsingSelector:@selector(compare:)];
        }
        self.dictionart = nationWithCodeDicList;
  • 相关阅读:
    数据库事务与锁详解
    数据库:Mysql中“select ... for update”排他锁分析
    PHP之十六个魔术方法详解
    常见分布式缓存问题
    关于UIView的autoresizingMask属性的研究【转】
    WWDC2014之iOS使用动态库 framework【转】
    Android.mk的用法和基础【转】
    iOS 利用 framework 进行动态更新
    cocos2d-x + Lua接入iOS原生SDK的实现方案[转]
    lua绑定c++的时候常见得错误
  • 原文地址:https://www.cnblogs.com/mkai/p/6229462.html
Copyright © 2020-2023  润新知