简单if语句失败

时间:2014-12-23 20:36:08

标签: objective-c if-statement

我有这个代码, shopOpenHour 的值是@“0800”:

if([[shopOpenHour substringFromIndex: 2] isEqualToString: @"00"])
    minute = 0;
else
    minute = 30;

if 语句失败并改为点击 else 语句。我尝试在if和else语句周围使用大括号,但没有区别。

if 语句出了什么问题?

1 个答案:

答案 0 :(得分:2)

我能想到为什么这个条件会占用else分支的唯一原因是shopOpenHour有其他不可打印的字符,例如\n。他们会阻止你获得完全匹配。

使用substringWithRange:并传递长度为2的范围应解决问题:

if([[shopOpenHour substringWithRange:NSMakeRange(2, 2)] isEqualToString: @"00"])
    minute = 0;
else
    minute = 30;