2012-10-27 54 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];'。 –