-3

次の関数を書くと、3行目に警告とエラーが表示されます。

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

Xcodeによると

  1. セマンティックの問題:関数の暗黙の宣言'If' .. ..
  2. 解析の問題:予想される';' 表現後

私は何が間違っているのですか?

4

2 に答える 2

2

これは、ifがキーワードであり、ObjectiveCのキーワードでは大文字と小文字が区別されるためです*。などの他のキーワードについても同じことが言えintます。

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


*これは普遍的なルールではありません。たとえば、VB.NETはとの両方を受け入れifますIf

于 2012-11-14T19:45:52.693 に答える
1

Objective-Cは大​​文字と小文字を区別する言語であり、予約語はすべて小文字にする必要があります。

セマンティックの問題:関数の暗黙の宣言'If' ...:
解析の問題:予期される';' コンパイラの代わりに記述し
たため、式の後に、という名前の関数を呼び出していると想定します。したがって、セミコロンが必要でした。IfifIf;

于 2012-11-14T19:53:13.977 に答える