前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS_版本号大小的比较

iOS_版本号大小的比较

作者头像
Python疯子
发布2018-09-06 16:09:18
1.4K0
发布2018-09-06 16:09:18
举报
文章被收录于专栏:Python疯子Python疯子

已经找工作很久了,简历就像是石沉大海,一点回音都没有,今天下午收到一个回复,内容如下: 您好!麻烦您用任何熟悉的编程语言实现function versionCompare(v1, v2)(版本号比较)函数及测试用例。对任意软件的版本号进行大小比较,输入参数为两个版本号(格式情况请自行考虑),目标是做成库给外部开发者用。不得使用现成的版本比较函数。重点考察各类情况处理。写好后截图给我们就行。

简单理解后,是让写一个版本比较的函数。于是乎迅速码code,便写成了这样的功能

代码语言:javascript
复制
// 方法调用
- (void)versionCompareFirst:(NSString *)first andVersionSecond: (NSString *)second
{
NSArray *versions1 = [first componentsSeparatedByString:@"."];
NSArray *versions2 = [second componentsSeparatedByString:@"."];
NSMutableArray *ver1Array = [NSMutableArray arrayWithArray:versions1];
NSMutableArray *ver2Array = [NSMutableArray arrayWithArray:versions2];
// 确定最大数组
NSInteger a = (ver1Array.count> ver2Array.count)?ver1Array.count : ver2Array.count;
// 补成相同位数数组
if (ver1Array.count < a) {
    for(NSInteger j = ver1Array.count; j < a; j++)
    {
        [ver1Array addObject:@"0"];
    }
}
else
{
    for(NSInteger j = ver2Array.count; j < a; j++)
    {
        [ver2Array addObject:@"0"];
     }
     }
    // 比较版本号
int result = [self compareArray1:ver1Array andArray2:ver2Array];
if(result == 1)
{
    NSLog(@"V1 > V2");
}
else if (result == -1)
{
    NSLog(@"V1 < V2");
}
else if (result ==0 )
{
   NSLog(@"V1 = V2");
}
}
// 比较版本号
- (int)compareArray1:(NSMutableArray *)array1 andArray2:(NSMutableArray *)array2
{
for (int i = 0; i< array2.count; i++) {
    NSInteger a = [[array1 objectAtIndex:i] integerValue];
    NSInteger b = [[array2 objectAtIndex:i] integerValue];
    if (a > b) {
        return 1;
    }
    else if (a < b)
    {
        return -1;
    }
}
return 0;
}

经测试可用,显示如下图

于是感觉完成任务了,便发了过去,收到如下回复

点击下载Demo

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.03.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档