字典本身无序,我们有时候需要依据有序字典key提取value。
/**
获取字典有序value数组
对传入的字典key进行排序,依序提取value入数组
@param dict NSDictionary
@return NSArray
*/
-(NSArray *) orderValueArrayWithDictionary:(NSDictionary *) dict {
NSMutableArray *orderValueArray = [[NSMutableArray alloc]init];
//取出字典所有key
NSArray *keyArray = [dict allKeys];
//将key排序
NSArray *sortedArray = [keyArray sortedArrayUsingComparator:^NSComparisonResult(id obj1,id obj2) {
return[obj1 compare:obj2 options:NSNumericSearch];//正序
}];
//根据key的顺序提取相应value
for (NSString *key in sortedArray) {
[orderValueArray addObject:[dict objectForKey:key]];
}
return orderValueArray;
}