数组内元素按字母顺序排序,字典的key按字母顺序排列

//把数组内的元素按着字母的生序排列,compare是系统的方法,不必实现
+(NSString *)handelDictionary:(NSArray *)array
{
NSMutableArray * sortArray = [[NSMutableArray alloc]init];
    for (id _obj in [array sortedArrayUsingSelector:@selector(compare:)]) {
        [sortArray addObject:_obj];
    }
    
}

类似的我们还可去处理以一个装有字典的数组,可以把里面的字典按着key的顺序排列起来。

1 、先把所有的key存在一个数里面,

2、然后使用上面的方法给排序, key的顺序有了,也就搞定了

具体代码如下:

NSMutableDictionary *dictionary = [[NSMutableDictionary alloc]init];//最终的字典
NSMutableArray *allKeys= [[NSMutableArray alloc]init];//所有的key
//把小字典合并成 大字典
    for (int i=0; i<array.count; i++) {
        
        //忽略掉非字典的成分
        if([array[i] isKindOfClass:[NSDictionary class]] || [array[i] isKindOfClass:[NSMutableDictionary class]]) {
            
            //取出每个小字典和key
            NSMutableDictionary *  dic = array[i];
            NSArray *keys = [dic allKeys];
            
            //拼大字典
            for (int i = 0; i<keys.count; i++) {
                [allKeys addObject:keys[i]];
                [dictionary setObject:[dic objectForKey:keys[i]] forKey:keys[i]];
            }
        }
    }

猜你喜欢

转载自blog.csdn.net/peng_up/article/details/50905191