#import <Foundation/Foundation.h>
static NSString * const kName = @"name";
static NSString * const kAge = @"age";
static NSString * const kGender = @"gender";
inline static NSMutableDictionary *CreateDict(NSString *name, NSInteger age, BOOL isMale){
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithDictionary:@{kName:name,kAge :@(age),kGender :@(isMale)}];
return dict;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *array = @[CreateDict(@"王思聪", 27, YES),
CreateDict(@"范冰冰", 35, NO),
CreateDict(@"马云", 51, YES),
CreateDict(@"霍建华", 36, YES),
CreateDict(@"赵丽颖", 28, NO)];
//第1题 请按照年龄的升序排序输出,输出样式为:王思聪,男性,今年27岁
NSLog(@"操作前数据=========");
for (NSDictionary *dic in array) {
int num = [dic[@"gender"] intValue];
if (num==1) {
NSLog(@"姓名:%@,性别:男 今年:%@",dic[kName],dic[kAge]);
} else {
NSLog(@"姓名:%@,性别:女 今年:%@",dic[kName],dic[kAge]);
}
}
NSSortDescriptor *ageWithSort=[[NSSortDescriptor alloc]initWithKey:kAge ascending:YES];
NSArray *elementarr=[NSArray arrayWithObjects:ageWithSort,ageWithSort, nil];
NSArray *sortArray=[array sortedArrayUsingDescriptors:elementarr];
NSLog(@"排序后数据📚📚📚📚📚📚📚📚📚📚📚📚");
for (NSDictionary *dic in sortArray) {
if ( [dic[kGender] isEqual:@YES] ) {
NSLog(@"姓名:%@,性别:男 今年:%@",dic[kName],dic[kAge]);
} else {
NSLog(@"姓名:%@,性别:女 今年:%@",dic[kName],dic[kAge]);
}
}
//第2题 请输出女性信息,输出样式为:范冰冰大美女,今年35岁
NSLog(@"第二题📚📚📚📚📚📚📚📚📚📚📚📚");
for (NSDictionary *dics in sortArray) {
if ([dics[kGender]isEqual:@YES]) {
NSLog(@"姓名:%@大美女,今年:%@",dics[kName],dics[kAge]);
}
}
//第3题 请将“马云”的年龄改为41岁
NSLog(@"第三题📚📚📚📚📚📚📚📚📚📚📚📚");
for (NSDictionary *dicss in sortArray) {
if ([[dicss objectForKey:kName] isEqual:@"马云"]) {
[dicss setValue:@"41" forKey:kAge];
}
}
for (NSDictionary *dic in sortArray) {
if ([dic[kGender]isEqual:@YES]) {
NSLog(@"姓名:%@,性别:男 今年:%@",dic[kName],dic[kAge]);
} else {
NSLog(@"姓名:%@,性别:女 今年:%@",dic[kName],dic[kAge]);
}
}
}
return 0;
}