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 回答