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