DSTools.m 1.4 KB
//
//  DSTools.m
//  DreamSleep
//
//  Created by peter on 2022/12/6.
//

#import "DSTools.h"

@implementation DSTools

+ (int)versionCompare:(NSString *)first second:(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"];
        }
    }
    // 比较版本号
    return [self compareArray1:ver1Array andArray2:ver2Array];;
}

+ (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) {
            // array1大于array2
            return 1;
        } else if (a < b) {
            // array1小于array2
            return -1;
        }
    }
    // array1等于array2
    return 0;
}

@end