ios身份证key字典排序

本文演示如何从身份证号码中解析性别和年龄,并通过字典实现特定排序操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#import <Foundation/Foundation.h>

 

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

    @autoreleasepool {

        

    //1.以下是身份证号,输出身份证人的性别,年龄

        NSString *idCard=@"210423198809040427";

        NSLog(@"身份证%@",idCard);

        NSRange NL;

        NL.location=6;

        NL.length=4;

        NSString *year=[idCard substringWithRange:NL];

        int yearnum=[year intValue];

        int age=2016-yearnum;

        NSLog(@"年龄为%d",age);

        

        //身份证倒数#2位是偶数则为女生

        NSRange xb;

        xb.location=16;

        xb.length=1;

        NSString *gender=[idCard substringWithRange:xb];

        int gendernum=[gender intValue];

        int sex=gendernum % 2;

        if (sex==0) {

            NSLog(@"");

        }else{

        NSLog(@"");

        

        }

        

        

        //2.将字典的key从Z->A排序,按排序后的key的顺序,输出value,将value按字符串输出

        NSDictionary *dict=@{@"R":@"e",

                             @"T":@"e",

                             @"D":@"b",

                             @"S":@"u",

                             @"K":@"a",

                             @"A":@"s",

                             @"O":@" ",

                             @"N":@"p",

                             @"B":@"b",

                             @"J":@"u",

                             @"F":@" ",

                             @"U":@"t",

                             @"H":@"l",

                             @"E":@"j",

                             @"Z":@"s",

                             

                             };

        

        NSArray *zimu=[dict allKeys];

        NSComparator sortBlock =^(id obj1,id obj2)

        {

            return [obj2 compare:obj1];

        };

        NSArray* sortArr =[zimu sortedArrayUsingComparator:sortBlock];

    

        NSMutableArray* m =[[NSMutableArray alloc]init];

        for(id ob in sortArr)

        {

            [m addObject:[dict objectForKey:ob]];

        }

        

        NSString* join = [m componentsJoinedByString:@""];

        NSLog(@"%@",join);

    }

    return 0;

}

 

转载于:https://www.cnblogs.com/jun1994/p/5116115.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值