Swift3在实现两个对象比较时,引入了compare方法,其中,方法返回值ComparisonResult解释如下:
ComparisonResult是一个枚举类型,包含了以下3个成员:
其中:
q orderedAscending(-1):左操作数小于右操作数。
q orderedSame(0): 两个操作数相等。
q orderedDescending(1):左操作数大于右操作数。
举例:
func testCompare() { let str1 = "hello" let str2 = "world" print(str1.compare(str2).rawValue) let num1 = "1" let num2 = "2" print(num2.compare(num1).rawValue) let str11 = "hello" let str22 = "World" //compare区分大小写 print(str11.compare(str22).rawValue) //compare不区分大小写 设置options:caseInsensitive print(str11.compare(str22, options: .caseInsensitive, range: nil, locale: nil).rawValue) }
结果如下:
上面有个注意点,就是是否区分比较字符的大小写
我们知道在ASCII码中,小写字母是排在大写字母后面的。
所以: W < h < w
所以最后两个print结果是相反的。