ios排序数组与字典 [英] ios sort array with dictionaries

查看:175
本文介绍了ios排序数组与字典的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个NSMutablearray,由字典[从JSON请求]填充



我需要组织数组,这取决于字典中的一个键



字典


  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆