2012-10-27 18 views
0

我敢肯定,这是超级简单,但我刚开始使用Objective C,我试图比较响应与对象的答案,看看响应是否正确,但我不断得到编译器错误。我对“自我”以及如何获得存储在问题对象中的答案感到困惑。谢谢。如果语句在目标C

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

回答

2

您收到错误,因为这不是有效的Objective-C语法。

[object method]; 

或带参数:

[object methodWithArgument:arg1 otherArgument:arg2]; 

你的情况,你想调用NSObject类的方法isEqual:(在对象 - 方法是使用这样的方括号语法称为大多数Cocoa类的根类)。您可以在任何对象上调用此方法,并将其作为参数传递给另一个要比较的对象。所以,正确的语法是这样的:

if ([response isEqual:self.answer]) 

请仔细阅读The Objective-C Programming Language

+0

是这样简单。谢谢! – JProg

+0

我不习惯括号,我们没有Java上的那些 – JProg

+2

@JProg Java上有很多不同的东西。你可以将它缩短为'return [response isEqual:self.answer];'。 –