ios排序数组与字典 [英] ios sort array with dictionaries
本文介绍了ios排序数组与字典的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要组织数组,这取决于字典中的一个键
字典
IdReward = 198;
Name =Online R d;
RewardImageUrl =/ FileStorimage = 1206;
WinRewardPoints = 250;
所以数组由具有上述形式的不同字典组成,我需要最大程度地组织起来,最低限度
我看过这个答案,但是不明白为什么如此采用它,
非常感谢!
解决方案
IdReward = 198;
Name =Online R d;
RewardImageUrl =/ FileStorimage = 1206;
WinRewardPoints = 250;
NSMutableArray * arr = [[NSMutableArray alloc] init];对于(int i = 0; i< [dict count]; i ++){
[arr addObject:[dict valueForKey:@WinRewardPoints]];
}
NSSortDescriptor * sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:nil ascending:YES] autorelease];
NSArray * sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
arr = [[arr sortedArrayUsingDescriptors:sortDescriptors] copy];
NSMutableArray * final_arr = [[NSMutableArray alloc] init];
for(NSString * str in arr)< p>
{
for(int i = 0; i< [dict count]; i ++)
{
< t> if([str isEqualToString:[[dict valueForKey: WinRewardPoints] objectAtIndex:i]])
{
[final_arr addObject:[dict objectAtIndex:i]];
}
}
}
NSLog(@%@,final_arr);
I have an NSMutablearray, populated by dictionaries [from a JSON request]
i need to organize the array depending to a key in the dictionaries
the dictionary
IdReward = 198; Name = "Online R d"; RewardImageUrl = "/FileStorimage=1206"; WinRewardPoints = 250;
so the array is composed by different dictionaries with the above form, and I need to organize by maximum to minimum WinRewardPoints
I have seen this answer in SO, but dont understand yet how to adopt it for my case,
thanks a lot!
解决方案
IdReward = 198;
Name = "Online R d";
RewardImageUrl = "/FileStorimage=1206";
WinRewardPoints = 250;
NSMutableArray *arr = [[NSMutableArray alloc]init];
for (int i=0; i<[dict count]; i++) {
[arr addObject:[dict valueForKey:@"WinRewardPoints"]];
}
NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:nil ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
arr = [[arr sortedArrayUsingDescriptors:sortDescriptors] copy];
NSMutableArray *final_arr = [[NSMutableArray alloc]init];
for(NSString* str in arr)<p>
{
for(int i=0 ; i<[dict count]; i++)
{
<t>if ([str isEqualToString:[[dict valueForKey:@"WinRewardPoints"]objectAtIndex:i]])
{
[final_arr addObject:[dict objectAtIndex:i]];
}
}
}
NSLog(@"%@",final_arr);
这篇关于ios排序数组与字典的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文