因为字典是无序的,数组是有序的,当遍历字典获取数据模型的时候,模型数组的顺序就不会有序。如何有序遍历字典呢?
1.获取字典key的数组 -> keysArr:
NSArray *keysArr = [dic allKeys];
2.将字典key的数组进行排序 -> sortedArray:
NSArray *sortedArray = [keysArr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {return [obj1 compare:obj2 options:NSNumericSearch];}];
3.遍历key排序后的数组sortedArray:
NSMutableArray *keyArr = [NSMutableArray array];
NSMutableArray *valueArr = [NSMutableArray array];
for(NSString *key in sortedArray)
{
NSLog(@"%@ = %@", key, dic[key]);
NSArray *dic = dataDic[key];
[keyArr addObject:key];
[valueArr addObject:dic[key];
}
keyArr和valueArr就是遍历字典dic后获得的有序key数组keyArr和有序value数组valueArr
网友评论