Objective-C Xcode - if 语句“预期表达式”

Objective-C Xcode - if statement "Expected expression"

提问人:Pietro di Caprio 提问时间:11/18/2014 最后编辑:rmaddyPietro di Caprio 更新时间:11/18/2014 访问量:314

问:

我必须检查 2 次之间的间隔是否> 0,然后设置标签的文本,但是当我使用 if 语句时,我得到了“预期表达式”。

NSDate * now = [NSDate date];
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"HH:mm:ss"];
NSString *newDateString = [outputFormatter stringFromDate:now];

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"HH:mm:ss"];
NSDate *date1 = [df dateFromString:newDateString];
NSDate *date2 = [df dateFromString:@"15:00:00"];
NSTimeInterval interval = [date2 timeIntervalSinceDate:date1];
int hours = (int)interval / 3600; // integer division to get the hours part
int minutes = (interval - (hours*3600)) / 60; // interval minus hours part (in seconds) divided by 60 yields minutes
int seconds = interval - ((hours*3600)+(minutes*60)) ;
NSString *timeDiff = [NSString stringWithFormat:@"%02d | %02d | %02d", hours, minutes, seconds];

if (interval < 0)
{
self.before3.text = timeDiff;
}

错误在if (interval < 0)

有人可以帮我吗?

问候。

目标-C

评论

2赞 Sven 11/18/2014
这看起来应该有效。这是您的实际代码还是您遗漏了什么?也可能是一些时髦的 unicode 字符偷偷溜进来,尝试删除整个 if 行并再次输入。还要看看,而不是自己做这些数据计算。NSDateComponentsNSCalendar
0赞 stromdotcom 11/18/2014
您的代码中是否有杂散字符、缺少大括号或其他东西?这是首先要寻找的东西。
0赞 Pietro di Caprio 11/18/2014
不是完整的代码,如果我删除“if(...)”并仅使用“self.before3.text = timeDiff;”就可以了,但是如果我添加if语句,我就会出错。尝试删除并重写它,所有分号和括号都可以。.
0赞 Hot Licks 11/18/2014
是的,当您删除该行时,请将其一直删除到并包括上一行。然后手动重新输入(不要复制/粘贴)。;
0赞 Pietro di Caprio 11/18/2014
已经完成了..还关闭了,然后重新打开了 Xcode 并清理了项目。

答: 暂无答案