//把数组内的元素按着字母的生序排列,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]];
}
}
}