0

これは非常に単純だと思いますが、Objective C を使い始めたばかりで、応答をオブジェクトの応答と比較して、応答が正しいかどうかを確認しようとしていますが、コンパイラ エラーが発生し続けます。「自己」と、質問オブジェクトに保存された回答を取得する方法について、私はちょっと混乱しています。ありがとう。

- (BOOL) verifyAnswer:(Answer *)response
{
    if (response isEqual:[self.answer])
       return YES;
    else
       return NO;
}
4

1 に答える 1

2

これは有効な Objective-C 構文ではないため、エラーが発生します。Obj-C では、メソッドは次のような角括弧構文を使用して呼び出されます。

[object method];

または引数付き:

[object methodWithArgument:arg1 otherArgument:arg2];

あなたの場合isEqual:NSObjectクラスのメソッド (ほとんどの Cocoa クラスのルート クラス) を呼び出そうとしています。任意のオブジェクトでこのメソッドを呼び出し、比較する他のオブジェクトに引数として渡します。したがって、正しい構文は次のとおりです。

if ([response isEqual:self.answer])

Objective-C プログラミング言語を注意深くお読みください。

于 2012-10-27T19:19:36.583 に答える