zoukankan      html  css  js  c++  java
  • 考核6 数组和字符串 描述器排序 字典替换

    #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岁

    //        NSArray *arr=[array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

    //            if(obj1[kAge]==obj2[kAge]){

    //                return NSOrderedSame;

    //            }else if(obj1[kAge]>obj2[kAge]){

    //                return NSOrderedDescending;

    //            }else{

    //                return NSOrderedAscending;

    //            }

    //            }

    //                      ];

            //排序二 描述器

            NSSortDescriptor *kAgeWithsort=[[NSSortDescriptor alloc]initWithKey:kAge ascending:YES];

            NSArray *weer=[NSArray arrayWithObjects:kAgeWithsort, nil];

            NSArray *weer1=[array sortedArrayUsingDescriptors:weer];

            for(NSDictionary *str in weer1){

                NSInteger num=[str[kGender] integerValue];      

                if (num==YES) {

                    NSLog(@" %@男性,今年%@岁",str[kName],str[kAge]);        

                }else{

                     NSLog(@"%@, 女性,今年%@岁",str[kName],str[kAge]);       

                }           

            }

            //        for (id str in arr) {

            //            NSDictionary* idc=str;

            //            NSInteger num=[idc[kGender] integerValue];

            //            if (num==YES) {

            //                NSLog(@" %@男性,今年%@岁",idc[kName],idc[kAge]);

            //            }else{

            //            NSLog(@"%@, 女性,今年%@岁",idc[kName],idc[kAge]);

            //                  }

            //        }

            // 第2题 请输入女性信息,输出样式为:范冰冰大美女,今年35岁

            for (id str in array ) {

                NSDictionary* idc=str;

                NSInteger num=[idc[kGender] integerValue];

                if (num==NO) {

                    NSLog(@"%@,大美女 女性,今年%@岁",idc[kName],idc[kAge]);

                }

            }

            //第3题 请将“马云”的年龄改为41岁

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

                NSMutableDictionary *a=array[i]  ;

                if([a[kName] isEqualTo:@"马云"]){

                    [a setValue:@41 forKey:kAge];

                }

            }

            for (id str in array) {

                NSDictionary* idc=str;

                NSInteger num=[idc[kGender] integerValue];

                if (num==YES) {

                    NSLog(@" %@男性,今年%@岁",idc[kName],idc[kAge]);

                }else{

                    NSLog(@"%@, 女性,今年%@岁",idc[kName],idc[kAge]);

                }

            }

        }

        return 0;

    }

  • 相关阅读:
    安卓模拟器BlueStacks 安装使用教程(图解)
    照相机滤镜使用,优化解码和滤镜导致的预览卡屏现象
    移动语音引擎相关开发笔记
    Linux下查看硬件信息的方法
    linux下彻底卸载mysql 图解教程
    linux下yum安装及配置
    mybatis中的resultMap
    项目管理模式之如何去除SVN标记
    myeclipse中的classpath
    Spring的AOP配置
  • 原文地址:https://www.cnblogs.com/j-h-t-123-n/p/5115638.html
Copyright © 2011-2022 走看看