首页 > 代码库 > app版本号比较

app版本号比较

由于一般的版本号格式都是类似于“3.1.1”这样的,所以不能用floatValue比较。这时可以用

NSString *num1 = @"5.2.0";
NSString *num2 = @"5.3.0";    

if ([num1 compare:num2 options:NSNumericSearch] == NSOrderedDescending) {        
    NSLog(@"%@ is bigger",num1);    
} else {        
    NSLog(@"%@ is bigger",num2);    
}

其中NSOrderedDescending是降序排列

 

###更新---补充版本号相等的情况###
上述写法有缺陷,当版本号相同时也会提示,应该添加相同情形时才完整

if ([num1 compare:num2 options:NSNumericSearch] == NSOrderedDescending) {        
    NSLog(@"%@ is bigger",num1);    
} else if([num1 isEqualToString:num2]){
    NSLog(@"same");        
} else {        
    NSLog(@"%@ is bigger",num2);    
}

 

app版本号比较