产品功能需要判断版本大小。
查了下网上的写法。不是判断有误就是限定位数,干脆点,自己写。目前我试了下,没发现问题,有问题的话,欢迎指出来。
- (NSString *)maxVersionWithVer1:(NSString *)ver1 withVer2:(NSString *)ver2 {
NSArray <NSString *>*versionArray1 = [ver1 componentsSeparatedByString:@"."];
NSArray <NSString *>*versionArray2 = [ver2 componentsSeparatedByString:@"."];
NSUInteger count = MIN(versionArray1.count, versionArray2.count);
for (int i = 0; i < count; i++) {
if (versionArray1[i].intValue > versionArray2[i].intValue) {
NSLog(@"Max: %@",ver1);
return ver1;
} else if (versionArray1[i].intValue < versionArray2[i].intValue) {
NSLog(@"Max: %@",ver2);
return ver2;
} else {
if (i == count - 1) {
if (versionArray1.count > versionArray2.count) {
return ver1;
} else if (versionArray1.count < versionArray2.count) {
return ver2;
} else {
return ver1;
}
}
}
}
return ver1;
}