JOM*_*JOM 1 iphone comparison nsstring
哦,这段代码出了什么问题!?!?!
NSString *s1 = @"5 Oct 2010 18:30";
NSString *s2 = @"5 Oct 2010 09:47";
NSRange range = {0, 11}; // Both "D MMM YYYY " and "DD MMM YYYY"
NSComparisonResult result = 0;
result = [s1 compare:s2 options:NSLiteralSearch range:range];
// result == -1
NSString *sa = [s1 substringWithRange:range];
NSString *sb = [s2 substringWithRange:range];
result = [sa compare:sb];
// result == 0
Run Code Online (Sandbox Code Playgroud)
为什么我会从这两个主持人得到不同的结果?据我所知,它们应该是一样的吗?
小智 7
感谢CocoaDev邮件列表中的善良人员,这是一个更好的答案!
方法签名中引用的"范围" 仅是接收字符串的范围.
因此,在您的第一个示例中,您将s1范围内的字符与整个s2进行比较; 并且,正确地,报告为-1.
这解释了fluchtpunkt注意到的明显异常.
| 归档时间: |
|
| 查看次数: |
2266 次 |
| 最近记录: |