在Mac OS中比较系统版本时出现问题。 我目前在10.8.4山狮上工作,我需要与Mac OS是否为10.9及以上进行比较。
答案 0 :(得分:0)
使用NSNumericSearch
将它们作为字符串进行比较。
[@"10.8.4" compare:@"10.9" options:NSNumericSearch];
此方法的返回值为NSComparisonResult
。如果left参数小于右参数,则返回常量NSOrderedAscending
。如果右参数较小,则返回常量NSOrderedDescending
。如果它们相等,则返回常量NSOrderedSame
。
if ([@"10.8.4" compare:@"10.9" options:NSNumericSearch] < NSOrderedAscending) {
// 10.8.4 is smaller than 10.9
}
if ([@"10.10" compare:@"10.9" options:NSNumericSearch] < NSOrderedDescending) {
// 10.10 is larger than 10.9
}
NSNumericSearch
选项对于第一次比较并不特别重要,但它们确实在第二次比较中有所作为。没有NSNumericSearch
,字符串将逐字符地进行比较,并且1&lt;因此,它声称10.10是&lt; 9.10。 10.9。