如果我编写以下函数,我会在第三行收到警告和错误。
int myYear (NSString *timevar)
{
if ([timevar isEqualToString:@"yr"]) {
return ...
}
}
Xcode说
我做错了什么?
答案 0 :(得分:2)
这是因为if
是一个关键字,而Objective C中的关键字是区分大小写的 * 。其他关键字也是如此,例如int
。
// Use lowercase "i" in the "if"
if ([timevar isEqualToString:@"yr"]) {
return ...
}
<小时/> * 这不是一个通用规则:例如,VB.NET将同时接受
if
和If
。
答案 1 :(得分:1)
Objective-C是一种区分大小写的语言,所有保留字必须为小写,
语义问题:函数的隐式声明'如果'...:
解析问题:预期';'表达后
因为您编写If
而不是if
编译器假设您正在调用名为If
的函数。因此它需要一个分号;
。