iOS_版本號大小的比較

已經(jīng)找工作很久了,簡歷就像是石沉大海,一點回音都沒有,今天下午收到一個回復(fù),內(nèi)容如下:
您好!麻煩您用任何熟悉的編程語言實現(xiàn)function versionCompare(v1, v2)(版本號比較)函數(shù)及測試用例。對任意軟件的版本號進行大小比較,輸入?yún)?shù)為兩個版本號(格式情況請自行考慮),目標(biāo)是做成庫給外部開發(fā)者用。不得使用現(xiàn)成的版本比較函數(shù)。重點考察各類情況處理。寫好后截圖給我們就行。

簡單理解后,是讓寫一個版本比較的函數(shù)。于是乎迅速碼code,便寫成了這樣的功能

// 方法調(diào)用
- (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];
// 確定最大數(shù)組
NSInteger a = (ver1Array.count> ver2Array.count)?ver1Array.count : ver2Array.count;
// 補成相同位數(shù)數(shù)組
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;
}

經(jīng)測試可用,顯示如下圖

于是感覺完成任務(wù)了,便發(fā)了過去,收到如下回復(fù)


點擊下載Demo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容