0

if 行に対して "Expected Identifier" メッセージが表示されます。理由はありますか?

    if ([inputA.text isEqualToString:@""]) && ([inputB.text <> isEqualToString:@""]) { 
        c = 1;
    }

両方の入力が空であると言いたいのですが... Obj C++でテキストがnullであるかどうかを簡単に言う方法はないと思いますか?

4

2 に答える 2

1
if ([inputA.text length]==0 && [inputB.text length]==0)
{     
    c = 1;
}
于 2012-05-15T07:06:48.457 に答える
1

ifステートメントでは、その条件式を括弧で囲む必要があります。複合表現があります。論理 AND 演算 (&&) の部分式を括弧で囲みましたが、式全体を括弧で囲んでいません。(この場合、部分式は実際には括弧を必要としませんが、害はありません。)

<>次に、 2 番目の部分式に乱数があります。あれはそこで何をしているのですか?「等しくない」演算子である一部の言語では、a) C または Objective-C の演算子ではない、b) そのようなメッセージ送信式内に入らない、および c) しようとしていたと主張する両方の入力が空であることを確認するため、空の文字列と等しいかどうかのテストを無効にしようとは思わないでしょう。

したがって、これらの問題だけを修正すると、次の結果が得られます。

if ([inputA.text isEqualToString:@""] && [inputB.text isEqualToString:@""]) { 
    c = 1;
}

そうは言っても、パイの答えも良いです。入力のいずれかにnilテキスト プロパティがある場合にも機能します。

于 2012-05-15T07:45:18.380 に答える