#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n",[[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(@"\n");
//按照班级进行排序,如果班级相同则按照年龄排序输出数据,格式同上
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(@"\n");
//删除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;
}
关于按先后顺序、查找删除、以及for in 输出数组中的字典
原文:http://www.cnblogs.com/wuduo/p/5121739.html