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