iOS比较枚举NSOrderedSame NSOrderedAscending NSOrderedDescending使用小结
项目开发中偶然间看到这种比较枚举,之前没注意过,仔细研究了一下结果还挺有意思,我们可以用升降序相等来帮助理解比较结果。
NSString 两个字符串的比较,用 a compare:b 来比,得出的结果分3种
26个字母比较 越靠后面 越大
NSString *a = @"qweqwe";
NSString *b = @"qweasd";
BOOL result = [a compare:b]; //等同于if ([a compare:b options:NSNumericSearch])
if (result == NSOrderedSame) { //NSOrderedSame = 0 完全一样
NSLog(@"a = b");
}else if(result == NSOrderedAscending) // NSOrderedAscending = -1 升序
NSLog(@"a < b");
else{ //NSOrderedDescending = +1 降序
NSLog(@"a > b");
}
比较条件可以自行设置
- NSCaseInsensitiveSearch 忽略大小写的比较字符串
- NSNumericSearch 比较字符串的个数
- NSLiteralSearch 区分大小写,进行完全比较