关于按先后顺序、查找删除、以及for in 输出数组中的字典

#define NSLog(FORMAT, ...) fprintf(stderr,"%s ",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    @autoreleasepool {

                       NSDictionary *dic=@{@"class":@"IOS6",

                            @"name":@"wuduo",

                            @"age":@"21"

                            };

        NSDictionary *dic1=@{@"class":@"IOS8",

                            @"name":@"niuwei",

                            @"age":@"22"

                            };

        NSDictionary *dic2=@{@"class":@"IOS6",

                            @"name":@"zhijun",

                            @"age":@"23"

                            };

        NSDictionary *dic3=@{@"class":@"IOS8",

                             @"name":@"zhongyuan",

                             @"age":@"19"

                             };

        NSDictionary *dic4=@{@"class":@"IOS6",

                             @"name":@"junhao",

                             @"age":@"24"

                             };

        

        NSMutableArray *arr=[NSMutableArray array];

        [arr addObject:dic];

        [arr addObject:dic1];

        [arr addObject:dic2];

        [arr addObject:dic3];

        [arr addObject:dic4];

        

        

        

        for(int i=0;i<arr.count;i++)

        {

            NSDictionary *dic=arr[i];

            //NSLog(@"姓名:%@,年龄:%@,身高:%@",[dic objectForKey:@"name"],[dic objectForKey:@"age"],[dic objectForKey:@"height"]);

            

            NSLog(@"班级:%@,姓名:%@,年龄:%@",dic[@"class"],dic[@"name"],dic[@"age"]);

        };

        NSLog(@" ");

        //按照班级进行排序,如果班级相同则按照年龄排序输出数据,格式同上

        NSSortDescriptor *sortByClass=[[NSSortDescriptor alloc]initWithKey:@"class" ascending:YES];

        NSSortDescriptor *sortByAge=[[NSSortDescriptor alloc]initWithKey:@"age" ascending:YES];

        NSArray *elementarrr=[NSArray arrayWithObjects:sortByAge,sortByClass, nil];

        NSArray *sortArray=[arr sortedArrayUsingDescriptors:elementarrr];

        

        for(NSDictionary *dic in sortArray )

        {

            NSLog(@"班级:%@,姓名:%@,年龄:%@",dic[@"class"],dic[@"name"],dic[@"age"])

        };

        

        NSLog(@" ");

        //删除wuduo此条数据,列出剩余数据,格式输出同上

        NSMutableArray *muarr=[NSMutableArray array];

        for(int j=0;j<arr.count;j++)

        {

            NSDictionary *dic6=arr[j];

            if(![[dic6 objectForKey:@"name"] isEqualToString:@"wuduo"])

            {

                [muarr addObject:dic6];

            }

            

        };

        

        for(id d in muarr )

        {

            NSLog(@"班级:%@,姓名:%@,年龄:%@",d[@"class"],d[@"name"],d[@"age"])

        };

        

    

    }

    return 0;

}

原文地址:https://www.cnblogs.com/wuduo/p/5121739.html