带字符串的基本If语句

时间:2012-11-14 19:45:00

标签: objective-c

如果我编写以下函数,我会在第三行收到警告和错误。

int myYear (NSString *timevar)
{
if ([timevar isEqualToString:@"yr"]) {
    return ...
}
}

Xcode说

  1. 语义问题:隐含声明函数'If'...
  2. 解析问题:预期';'表达后
  3. 我做错了什么?

2 个答案:

答案 0 :(得分:2)

这是因为if是一个关键字,而Objective C中的关键字是区分大小写的 * 。其他关键字也是如此,例如int

// Use lowercase "i" in the "if"
if ([timevar isEqualToString:@"yr"]) {
    return ...
}

<小时/> * 这不是一个通用规则:例如,VB.NET将同时接受ifIf

答案 1 :(得分:1)

Objective-C是一种区分大小写的语言,所有保留字必须为小写,

语义问题:函数的隐式声明'如果'...:
解析问题:预期';'表达后   因为您编写If而不是if编译器假设您正在调用名为If的函数。因此它需要一个分号;